HTML is meant to describe the structure of a document and was never designed to describe visual rendering. So CSS was put together to give the author much more control over the visuals of the site, makes pages much more accessible by removing HTML tags and attributes that were never planned to be there, and external style sheets allows the author to make a site wide change in a single place.
The background attribute does still work. However, it is still far better (for the reasons listed above) to use style sheets instead. And the now deprecated parts of HTML will probably one day be removed from browsers, though it is probably still a long ways off since it is still being used on some pages.