CSS is brilliant in concept. So why is it almost impossible to apply in any rational fashion?
Antiquated html table tags might be a pain to create, but once you had drawn a table, you know where things would turn up. CSS positioning can be an umitigated nightmare.
And given that CSS is supposed to be cross-browser- why does the toughest bit to code in one browser  – the positioning – turn out to be the one bit that’s not?
sadly quite an accurate description.
CSS is part of the W3 ideal to separate content from layout. Not quite there yet though©™®…. 🙂