Personally i use both, i don't understand why one or the other must be used. Then again, i program webpages so rarely that i can't even really remember any HTML without reference beyond
<Body> and <Body background ="whatever.whatever"> and <Body bgcolour="">
<text colour ="">
So say you upload a bunch of pages written like that, wich a background="somefile.jpg" on each page's body tag. Then in the future, what if you want to change the background? You'd need to edit every single page that had that in the body tag. If those pages simply used a file called style.css, you could just edit the css file:
body {
background: #333 url(somefile.jpg) top left repeat-x;
}
Or whatever. The same goes for font tags. You want some text to stand out in your layoud so you make it red. But then later you decide to change your layout a bit and now blue would fit better. The old way you'd have to then go and edit all those font tags to make them blue, with css you could just edit the class that you should have assigned to your special text =)