tables are perfectly fine for building a website. you can easily format them with a style sheet, exactly the way you would using divs. you can remove & add borders, padding, margins whatever you need.
tables are simply an easier way to align a layout. they're
far better if you have a need for complex nested content.
for example:
it's going to be a tad more difficult (and take far longer) for a web designer to replicate a table like that using divs. because it's harder, inexperienced designers will result in malformed code that doesn't display properly in all browsers.
sure, you can always use the
float:; attribute, but browsers render widths of divs differently, meaning that if the width isn't absolutely perfect, then a div that is meant to be next to another will most likely drift to the line below it. even with perfection in widths, it's still difficult to get the correct padding, as some browsers will stretch the div according to the padding.
tables are the most cross-browser compatible format for building a website, and definitely the easiest. it's just with the transition to web 2.0 that standards are calling more for divs compared to tables.