It doesn't, not even in theory.
CSS did a good job of freeing us from layouts that were dominated by concrete layout, stretchy invisible gifs and so on. But CSS does not separate content and presentation. CSS still depends on concrete layout to work. You often can't have a feature of your style that doesn't have a div or whatever attached to it. (The pseudo-selectors are a horrible hack to try to fix this.)
The problem is that we were all collectively duped into not wanting things that CSS didn't give us.
An example: I used to lay out the music and entertainment section of my college newspaper. With CSS, you can't even do a multiple column layout that flows, and PageMaker had that on day one.
Sometimes, I would design a headline that ripped right through articles in the middle of the page. Even diagonally. I can't imagine how you could do that in CSS, without tedious calculations and placing concrete divs into your text.
Even if some of what I've said is possible, very, very few designers seem to be able to cope with this. The evidence is that most of them struggle just to get two-column layouts that don't even flow, if one judges by the number of tutorials.