Even if you argue that HTML tags don't have semantic meanings (which I'd strongly disagree with, pointing to numerous tools that derive useful semantic information from such tags), there's quite a lot of value in defining your markup in terms of semantics and then separately defining what you want those semantics to look like. With good semantic markup, you can easily retheme your site to look completely different, make it scale to a mobile UI, or make it accessible to users of screen readers.
So, there's a major difference between using font-family and a <font> tag, and a major difference between using display: table* and <table>/<tr>/<td> tags. And for the same reason, you shouldn't use class="sidebar" if what you mean is class="navigation" (or for that matter <nav>). Let alone class="big-red-button" when what you mean is class="delete".
To use an example from that article: sure, <p> is not as semantically significant as <section> or <h1>, but it's a lot more semantic than, say, <br/><br/>, which I've seen used between paragraphs. "This is a paragraph" is more semantically useful than "this has an indent on the left and 1.4x line spacing"; "this is a heading" is more semantically useful than "this is 24pt and bold".