The first two paragraphs of this reply are paraphrased from the writings of Dan Shafer and Jeffrey Zeldman, I'll try to do them justice.
Tables were never meant to control layout - they were origianlly intended to hold tabular data. Unfortunately the lack of design control in the original code meant that designers had to use whatever was at their disposal to enable decent layout - and that was the table.
Read Dan Shafer's Sitepoint articles (actually chapters from his book but they are the ones with the pros and cons in so worth reading):
and A List Apart (co-founded by Jeffery Zeldman)
for more on tables, the arguments, and the use of CSS positioning as an alternative.
There is also the accessibilty issue - over-use of tables is frowned on in accessibility guidelines.
This leads to an interesting point about how published standards can conflict with real use. The W3C standard says that all tables must have summaries (which are, for instance, read out to users of screen readers). So to conform to standards we all have to add summaries to our layout tables "This table is for layout only". I've even seen more complex summaries - "This table is for layout only and provides the left navigation for the page". But in accessibility terms that is counter-productive. Does a blind user having the screen read out really want to hear all that for every table?