Using wrapper div vs styling the html element

I have a question regarding what is a better practice when it is needed to have the site a specific width, like 900px.

Is it better to use a wrapper div tag, make the wrapper 900px and style the body tag or make the body 900px and style the html element ?


<html>
<body>
    <div id="wrapper">
        [content]
    </div>
</body>
</html>

body {
    background-color: #202020;
}
#wrapper {
    width: 900px;
}


<html>
<body>
    [content]
</body>
</html>

html {
    background-color: #202020;
}
body {
    width: 900px;
}

Is it a good idea to apply styles to the html element ? If yes, then why has the wrapper div practice became so popular when there is this easy alternative ?