Главная причина — наклон оси Земли
Ось вращения Земли наклонена на 23,5° к плоскости орбиты. Этот наклон не меняется в течение года — он всегда направлен в одну сторону (в сторону Полярной звезды). Пока Земля обходит Солнце по орбите, северное полушарие то наклонено к Солнцу (лето), то отвёрнуто от него (зима).
Почему летом Солнце дольше над горизонтом
Когда северное полушарие наклонено к Солнцу, Солнце восходит севернее востока и заходит севернее запада. Дуга, которую оно описывает по небу, становится длиннее. Значит, световой день растягивается. В день летнего солнцестояния (около 21 июня) в Москве Солнце над горизонтом ~17 часов.
Распространённое заблуждение: расстояние до Солнца
Многие думают: «Летом жарко, потому что Земля ближе к Солнцу». Это неверно. На самом деле в январе Земля на ~5 млн км ближе к Солнцу, чем в июле. Тепло летом определяется углом падения лучей (летом они падают круче) и длиной дня, а не расстоянием.
Полярный день и белые ночи
Чем ближе к полюсу, тем ярче выражен эффект наклона. За Полярным кругом (выше 66,5° с.ш.) летом Солнце вовсе не заходит — наступает полярный день. В Санкт-Петербурге (60° с.ш.) в июне — знаменитые белые ночи: сумерки не успевают смениться темнотой.
Равноденствие — когда день равен ночи
Два раза в год (около 20 марта и 23 сентября) ось Земли направлена строго «вбок» относительно Солнца — ни одно полушарие не наклонено к нему больше другого. В эти дни (равноденствия) день почти равен ночи: по ~12 часов везде на Земле.