Я много читал книг на тему Великой Отечественной... Но ответить на такой вопрос с наскоку тяжело, этому наверное посвящена не одна диссертация...
Естественно географические факторы сыграли свою роль. Именно огромные расстояния позволяли вновь и вновь возводить оборонительные рубежи за спинами отступающих армий. Именно из-за них обозы с продовольствием, боерпипасами и ГСМ не успевали за продвижением немецких танковых дивизий. Естественно немцам было тяжелее переносить морозы, да они и не были к ним готовы - зимнего обмунирования не было практически, они ведь надеялись к осени завершить кампанию взятием Москвы...
Но решающим конечно был моральный фактор. Наши люди верили, что немцев можно победить. Французы, по моим ощущениям, не верили, и быстро подняли лапки кверху, хотя у них, да еще вместе с Великобританией, было достаточно сил и средств для длительной борьбы. К тому же, французам не угрожало полное уничтожение и порабощение, как нам. У нас все понимали, что если они сдают деревню - значит, деревня будет разграблена, люди - кто угнан в Германию на работы, кто расстрелян, кто просто будет жить в постоянном страхе. Они знали, что каждая новая сданная деревня приближает их к тому, что их собственная деревня или иной населеный пункт, где они родились и выросли, их личная Родина, тоже будет взята немцами, и страдать будут уже их родные. Когда людей посылали рыть окопы на подступах к своему родному городу - они тоже знали, что чем лучше и быстрее они это сделают, тем больше шансов что немцы остановятся именно здесь. А то что они остановятся - не подвергалось сомнению, потому что выбора действительно не было - либо смерть и рабство, либо победа.