Стоит ли описывать в css стили типа вот так: div.class-name или h1.class-name?
Вы правильно считаете. Привязывают стили к тегу, только говнокодеры. Смысла в этом нет (кроме редких исключений когда это может понадобиться).
Это и время отнимает для написания, и читаемость кода ухудшает, и переиспользованию мешает. Если мне завтра понадобиться изменить H1 на H2, придётся не только HTML менять, но и в CSS лезть.
В 99% случаев привязываться к тэгу не нужно. 1% остается на редкие частные случаи. Например, вот мне недавно нужно было различить td.classname и th.classname.