It really comes down to personal or team preference.
I have always leaned towards this method because I value tradition over trends. I like to keep my concerns separate and avoid any confusion.
When I encounter a div like this:
<div class="clearfix left bordered">
...
</div>
I appreciate how clear its purpose is, saving me from having to dig into the CSS file to figure it out.
However, if you were to take a more descriptive approach as shown in your example:
<div class="importantTextDiv">
...
</div>
On one hand, you may need to check the CSS properties to understand it (or inspect the element using developer tools) but if you decide to make changes, there's no need to modify the source code or server-side language output.
In my opinion, both scenarios can be cumbersome, but typically changing a div from float:left to float:right is something that would be decided before a final deployment.
So, my advice? There isn't a technical reason to favor one approach over the other. Go with what feels most comfortable for you!