For me, CSS is the preferred way of styling pages (in terms of color of backgrounds, font sizes, etc.).
In terms of laying out a page, pure CSS still has severe
problems. I've spent many an hour trying to work with CSS to get
a pretty standard layout scheme (header, footer, 3 columns in the
middle). This is trivial using table layouts, but requires some
very intricate work in CSS. Granted, most of the work comes from
Internet Explorer's poor CSS support, but try justifying dropping IE
support to your boss, and see how that goes. :-)
I've found that master pages are the perfect way to get the best of
both worlds. Set up your table structure in the master pages, and
use "proper" layout techniques in the content pages. Since you
mostly work in the content pages, you don't have to wade through a
bunch of nested tables to make a small change to the HTML in the
content page.
Overall, I'd say it's a good idea to get quite familiar with using CSS,
but as in most things in life, take the people on the extremes of the
argument (pure CSS versus advocates versus people that use 40 nested
tables to display an image) with a large grain of salt.