For Nazi Germany to invade the Soviet Union, they required 2 important factors:
1. Good Climate
2. Swift movements in the country as soon as possible.
The Nazis easily took the eastern parts of Soviet Union but quickly experienced their first problem.
Germany was a highly developed country with a modern road network and infrastructure, however, when the German forces entered Soviet Union, they found a much poorer country, with a poor road network and out dated infrastructure.
This greatly slowed down the mobility of the advancing forces. German cars and even tanks were slowed down due to muddy roads and farmland.
Before the Nazis could reach Moscow, the Russian winter came with full force and the temperatures quickly dropped below zero.
Gasoline in military jeeps froze, horses died and many Nazi soldiers suffered frostbite and other diseases.
Both climate and infrastructure, were in Soviet union's favor and helped to defeat the Nazis