Recently, there has been quite a bit of churn at Hacker News regarding the old debate about CSS versus Table-based layouts in web pages. What started the recent flame war seems to be this article by Ron Garret.
I want to make two points about this topic.
First, regarding some of the comments that accuse companies like Google, Yahoo and Microsoft as heavy offenders, who use table-based layouts every chance they get. In the real world your manager gives you a design or programming task and she says "The end-product needs to look like this… How it gets done is up to you. Two things: deliver on time and do not go over budget!" This is a typical interaction, and I base it on my experience as a Microsoft employee.
The developer or designer is going to fall back on something that she knows works: Table-based layout. Tinker with CSS for too long and she risks blowing the budget and the deadline. It's an easy choice to make, and I suspect that developers and designers in other companies are faced with the same pressures.
Second, go to UseIt.com and look at the source. This is the website of Dr. Jakob Nielsen. He is the foremost authority in web and software usability today. This website is one giant table-based layout, and it is quite usable and it applies the principles that Dr. Nielsen evangelizes.
In the battle between CSS and table-based layouts, pragmatism wins.