It would seem to be de rigueur these days for anyone in this space to have an opinion about the use of CSS, so here's mine: using CSS is better than not using CSS. But sometimes you can't. I've got a couple of examples and a few general CSS gripes.
CSS is Good · ongoing, including the page you're reading right now, is an all-CSS design. When I first imagined the site, I saw a single column of text with embedded pictures and some navigation and context apparatus on the left and right. The thinnish single column is clearly the only sensible way to render text on the web, and credit is not often enough given to the site that in effect invented the technique, the long-dead and much-lamented Suck. (By the way, I was once a Suck author).
Anyhow, I poked around, stole some markup from glish, and got what I wanted with little pain.
And if you can do this, you should, for a bunch of reasons. The important ones right now are that CSS designs are more flexible and CSS-based pages are smaller and faster and more accessible. Down the road, the kind of descriptive markup enabled by CSS might turn out to be real important too.
Tables are OK · On the Textuality site, which has been Lauren's and my personal storefront since 1996 sometime, the front page design is a table, because I couldn't figure out a way to get the three text regions on the white rectangle in the blue rectangle effect smoothly with CSS. I gather it can be done, but it's complicated and icky and I didn't care enough; in large part, because I am not professionally a Web designer. If I were, I probably would have taken he trouble. If I can figure out a way to CSSify it sometime I will, but in the meantime I'm not losing any sleep.
At the moment, Antarctica's Visual Net doesn't use nearly enough CSS, but we can (and will) fix that now as a consequence of having decided to drop support for V4 browsers.
Some CSS Problems · This is kind of amusing; when CSS first came along I hated it because It Wasn't XML and I thought XSLT was going to be the answer, but then it turned out that my brain is shaped the wrong way somehow and I can't figure XSLT out, so in fact CSS is what I use all the time. Given that, here's what currently seems to need work in CSS.
Browser Support · Right now, the #1 barrier in the way of making the Web a better place is Internet Explorer; its CSS implementation is kind of behind the times and that's a problem because there doesn't seem to be much energy being directed at this area by Microsoft.
Maintainability · I find CSS stylesheets to be way harder to maintain and manage than either content or computer programs. The ongoing stylesheet was pretty crisp and tight when I launched, but it's getting kind of tired and dog-eared as the months go by and I fiddle with it here and there, and I'm kind of scared of trying to fix it up right now. Put another way, refactoring is tough. This feels like dealing with a piece of poorly understood spaghetti code of the type that we don't let programmers write any more.
Yes, I guess I could impose some more order and discipline on myself, but you could impose order and discipline on your Assembler and FORTRAN programs too, and that didn't stop us wanting more help from the languages we used.
Diagnostics and General Weirdness · Sometimes when I'm trying to adjust things to achieve an effect, I make a mistake and trash my page, things all move around and go startling places and land on top of each other. I have no idea why and aside from validating the CSS (a good idea) there really isn't a good way to figure out what the browser thought it was trying to do and why the logo is now flush-right at the bottom of the page.
Debugging these situations can be horribly difficult and I'm often reduced to commenting out lines of CSS one by one until sanity creeps back in and I at least know where to look.
Where To From Here? · Well, I suspect the analogy with FORTRAN may not be entirely nuts; the future may hold some sort of “structured stylesheet” construct that will be much easier to manage.
But that's in the medium/long term; right now what we need is for Microsoft to put some serious work in on the program that is, for most people, their #1 interface to the world. Please?