Basically, you can use CSS styles with your tables to do many of the same things division tags can do, and you can use divisions within your tables. There is nothing wrong with mixing and matching.
Functionally, a pure CSS site will scale better for alternative devices, such as smartphones, that are used to view your webpage. A pure CSS site will display in an easily readable format on text-only browsers as well, since the items will display more like a bullet list, whereas a table driven site kind of becomes a mess on text readers.
It really depends on what your site is delivering, and what audience you are aiming for. Tables have been a standard for a long time, and will display pretty much evenly across browsers. CSS is a new standard, and should display pretty much the same across all browsers except Internet Explorer, which for some reason STILL believes it should dictate what the web looks like. You might need to use 'hacks' to get your site to display properly on different versions of IE. Also, if your site is something like a forum, with multiple repeating sections in a page, tables seem to flow easier. Aligning items on a page works great in CSS, but can get tricky when aligning the same item again, but in another spot on the page, and again, and again. Floats can crash, rollover attributes don't work uniformly, etc.