I've done my bit to turn this off topic for this forum, swa66, apologies. Although in a way it's nice to discuss SEO in a CSS forum ;)
The web is a tangled mess of code, which counts both for and against the benefits of best practice CSS/HTML. At the same time, code that is difficult to misinterpret has to be better than code likely to be misunderstood.
It's the content that's cheating, though, not the CSS ;)
I'm no CSS guru, but I think the reason for that is a lack of understanding of the "cascade". So, everything needs to be in a very specific box, otherwise it can trigger a panic ;)