Don't get me wrong, I am all for standards. In a perfect world all browsers would have full support for css 2, and we wouldn't have any compatibility problems.
Unfortunately this is not a perfect world.
Here's the truth: I would not dare use css for positioning for a site I develop for a client, and I'm wondering how many people would. I feel that if all I care about is making the best website possible, one that will look nice on as many different systems as possible, I should be using tables for layout, not css.
What good is designing a site for a client with css if he uses netscape 4.2 and its going to look like crap (or just very plain) when he or she sees it? This is a very real problem I still have. Most people have no idea what a new browser will do for them, and a lot of people use machines they have no control over, and as a result, it is still a major consideration for me to make my site layouts very compatible.
Sure it is a little awkward, but I have dedicated enough time so that I can code almost any layout using tables (and make it fit nicely in all resolutions), and I think this is a valuable skill that I should hold on to for the time being instead of switching fully over to css just yet.
Am I wrong? Is it still better to use css for positioning elements instead of tables even though you are restricting your audience by doing this?