Это действительно зависит от личного / командного выбора.
Я всегда предпочитал эту технику, так как я предпочитаю условность, а не стиль, мне нравится, когда мои проблемы разделены, и мне не нравится двусмысленность.
если я увижу такой div:
<div class="clearfix left bordered">
...
</div>
Мне нравится тот факт, что его намерения четко подчеркнуты, и мне не придется погружаться в файл CSS, чтобы выяснить, что это значит.
Но, исходя из вашего примера выше, если вы пошли по более декларативному маршруту:
<div class="importantTextDiv">
...
</div>
С одной стороны, вы должны исследовать файл CSS, чтобы определить его свойства (или запустить его и проверить элемент в эквиваленте Firebug), но если вы решите изменить его, вам не нужно вносить изменения в исходный код. или измените то, что исходит от вашего языка на стороне сервера.
Для меня обе ситуации - это боль, но по моему опыту, изменение div между float: left и float: right - это та вещь, которую вы бы в конечном итоге завершили до окончательного развертывания.
Мой ответ? нет технической причины предпочитать один путь другому, выбирайте, какой из них удобнее!