Рассмотрим простейшую ситуацию - замерзание озера. Поскольку мороз не может воздействовать на воду снизу (со дна) и сбоку (с берегов), рассмотреть нужно только охлаждение сверху (холодным воздухом). Допустим, температура воды была +20 градусов. Теперь на поверхность озера пришёл холодный воздух. Самый ближайший к воде слой воздуха забирает тепло от воды и чуть-чуть подогревается. Тёплый воздух легче холодного (имеет меньшую плотность), поэтому он поднимается вверх, а на его место опускается холодный.
Но и вода (ближайший к поверхности слой) отдав свое тепло, охлаждается. Плотность холодной воды больше, чем тёплой, поэтому охладившаяся вода опускается вниз, а на её место поднимается более тёплая вода. Такой процесс продолжается до тех пор, пока вода (вся вода в озере, до самого дна) остынет до температуры +4°С, (если точнее, то до +3,98°С). При этой температуре плотность воды - максимальна (причину этого рассматривать не будем, примем это как данность, пусть считается, что бог так установил). Что же дальше? Следующая приповерхностная порция воды отдав своё тепло воздуху, охладилась ниже +4°С, пусть например до +3°С. Плотность её меньше, чем у основной массы воды (мы договорились, что вся вода в озере остыла до +4°С). Поэтому этот остывший слой воды не будет опускаться, а останется на поверхности. Далее он остынет до +2, +1 и до 0°С. Из-за этого вода становится ещё легче, и перемешиваться с более глубоколежащими слоями не будет. Теперь этот верхний слой воды замёрзнет, превратится в лёд. Теплопроводность льда выше, чем теплопроводность воды, поэтому образовавшийся слой льда почти не влияет на процесс дальнейшего охлаждения.
А промерзает водоём до дна или нет, зависит в конечном счёте от его глубины. За долгие зимы мелкие водоёмы (лужи) промерзают до дна, а глубокие просто-напросто не успевают.