Hitler’s mistake was that he postponed the Invasion several times, if he had invaded in the early spring instead of June it is quite possible that he would have beaten Stalin and been in Moscow. Those two critical months lost made all the difference in the outcome of the invasion.
That mistake plus Stalin’s willingness to sacrifice untold numbers of troops on the Eastern Front as cannon fodder to stop the germans was what stopped the Germans in their tracks.
Read Sir Max Hastings book on the last year of the European aspect of W.W. II, Stalin was brutal in what he did to make his armies fight.
But the Italians were getting their asses kicked in the Balkans and Hitler had to bail them out.