Flexibility makes working with CSS easier
Chris Heilmann makes some important points about the need for designers to accept that the web is a flexible medium in CSS is not hard to learn - if you recognise it for what it is. Let your design be flexible instead of rigid and you will avoid lots of frustration when creating CSS-based layouts:
A web page that looks and works exactly the same across different browsers is most likely neither accessible nor easy to maintain. A web page that is well structured, allows for flexibility and improves visually with the sophistication of the user agent is both.
Chris also mentions the horrible hacks we had to use back in the days of table layout and tag soup. I too remember doing some insane things. For instance, creating a one pixel border around each cell in a table involved nesting one table inside another, setting the background colour of the outer table to the desired border colour, and then using cellspacing on the inner table to let the outer table appear between the cells. All of that was done in the HTML, of course.