Interesting: W3.org says not to use DIV and SPAN for CSS
From http://www.w3.org/TR/REC-CSS2/selector.html
Quote:
Note. CSS gives so much power to the "class" attribute, that authors could conceivably design their own "document language" based on elements with almost no associated presentation (such as DIV and SPAN in HTML) and assigning style information through the "class" attribute. Authors should avoid this practice since the structural elements of a document language often have recognized and accepted meanings and author-defined classes may not.
So they are pretty much recommended not to do CSS by making a bunch of DIVs and SPANs and applying CSS class or id styles to them, but to stick with the standard HTML tags when possible, as those have established meanings.