В дополнение к предыдущему ответу добавлю ещё одну причину, важную на мой взгляд.
В конце июля, когда немцы дошли до Смоленска, то есть прошли Польшу и Белоруссию, и до Москвы оставалось 400 километров, немцы приостановили наступление.
Пауза была сделана для разгрома южного фронта, захвата Киева и Севастополя. Для этого было отозвано часть войск с центрального фронта. 26 сентября закончились бои в одном из самых больших котлов за всю войну, под Киевом (больше полумиллиона пленных).
Дальнейшая битва за Москву возобновилась в октябре, где сыграли свою роль все факторы, описанные выше.