Элементарная ситуация: на странице последовательно идут блоки с разным фоном (белый/серый/белый/серый), но содержимое этих блоков должно находиться в контейнере с фиксированной шириной. Как быть? Вот так:
<div class = "wrapper bg-grey">
<div class = "container">
...
</div>
</div>
Это позволит в конечном итоге избежать ненужных зависимостей между блоками, даже если потребуется перенести их в другое место на странице.
А к body применять стили вообще не стоит, кроме некоторых базовых, которые будут наследоваться всеми элементами.