не знаю зачем другие стили кроме height, но именно height: 100%; для body, не будет работать если не сделать это и для html. к примеру когда юзаешь flexbox для всего документа. когда нужно прижать footer к примеру.
p.s. к примеру вот. если уберешь стиль у html - footer не будет прижиматься https://jsfiddle.net/6odvshgu/