The beauty of a CSS layout is the fact that in can degrade nicely on clients that don't support CSS.
This is one fallacy I'm pretty tired of seeing. While it's literally true, A website written using pure CSS and HTML will usually degrade well to a totally CSS-oblivious client.
The problem is that there are SO FEW totally CSS-oblivious clients. We don't care about bots and stuff, so that leaves us with small devices pretty much, and perhaps some specialty browsing device for handicapped (though most visually impaired use IE for browsing).
The problem is that by far the largest number of clients (like in the 99% range) have varied and mixed support for various parts of the CSS standard.Imagine a browser supporting background-image, but not background-repeat (NS4!). It could potentially render
the page unreadable. This whole issue is even why we spend so long fighting IE, FF, or Opera, or whatever browser is having a problem, because
CSS in effect does no degrade gracefully. And if we don't check it in said browser, the page can literally become unreadable.
That said, CSS is a heck of alot better then the alternative choice. Years back, I've nested tables (on commercial sites) up to nine levels, and then it was all framed even! And the cascade is simply a beautiful thing.
But people also should see that CSS is only meant to go so far. CSS in my opinion scales like (I need to watch my language), and should not be used, at all, for say behaviour, apart from the most simplistic :hover effect. Building entire menus out of CSS rubs
me the wrong way...