OK I'll calm down and come up with a thoughtful response instead, then.
I choose CSS / XHTML "pure" coding because it is the best possible way to completely separate your markup from your presentation (even though some would argue that markup is presentation).
But when you talk in terms of "un-styled" vs "styled" then semantic markup (without tables) plus CSS is the best way to go.
My favorite test of how effective your markup is is to disable your stylesheets and see what your content looks like in pure markup. You should still be able to make sense of the content and see headers and paragraphs and lists. This lets you know that your web site can effectively communicate with other machines, such as search engine robots, screen readers and mobile devices. That is the direction the web is heading.
Just compare a complete semantic / css layout with a table layout both with CSS turned off. The table layout will not conform to the screen size as readily as a semanticly marked up html page will.
Every thing that is readable to the human eye should be readable to the computer, which means using CSS to it's fullest extent to style elements so that there is a text version that is hidden when CSS is enabled. For example, using text-indent and background-image if you have an image with non-standard fonts in it:
<h1 class="hide" id="logo">Company Name</h1>
h1#logo{
width:100px;
height:100px;
background:url(images/logo.gif) no-repeat;
}
.hide{
display:block;
text-indent:-99999px;
outline:0;
}
----
This approach works a million times better than
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td><img src="images/logo.gif" alt="company name" /></td>
</tr>
</table>
Because when CSS is disabled you still see a semantic reprsentation of that data: The H1 tag.
Now when it comes to layouts, it is just a matter of reading up on more advanced techniques to create effects that were previously generated by frames and tables. www.alistapart.com/articles/holygrail
Read up on that article for advanced technique in creating CSS layouts that look great in any browser and work in any CMS. Next, read up on Semantic HTML for why it's important to use markup that is intended to represent its content.
Tables do not do a very good job at representing their content unless their content is tabular data.
The reason I bring this up is because I'm pretty tired of watching the .NET community completely miss the point of standards, accessible, usable and semantic HTML. Here's a fantastic article on 456 Berea Street on the problem with programmers not fully learning the entire scope of their trade.
Now maybe my comments were innappropriate but I find it unbelievable that in 2008 people still wonder about when to use tables and when to use DIVs and by DIVs what they're really searching for(hopefully) is Semantic HTML and not just replacing the table with the DIV.