I agree that it's very cool to transform your display code using macros, but it's a non-starter on many projects, because you can't farm out the HTML/CSS work to a designer.
But, I've worked with many a developer who couldn't tell you why divs differ from spans.
Still think of the HTML in the same vein has producing JSON, XML, etc. The CSS is then just the design logic maintained (hopefully!) by the designer.