Вопрос не особо корректен, т.к.: em - это единица измерения, стили - CSS стили.
Стили могут быть вынесены в отдельный файл или заданы in-line'ом внутри тега.
https://learn.javascript.ru/css-units
В итоге:
1. Логическая структуризация документа страницы HTML(5) - уже сделано консорциумом W3C.
2. Представление элементов внутри контейнеров - мы описываем классами CSS стилей.
3. Давать уникальные описания (речь о представлении!) элементов - это значит создавать новые классы CSS для таких элементов.
Суммируя, порядок такой:
1. Создаём базовую структуру документа, согласно W3C.
2. При возможности применения описательного тега - используем тег, при невозможности - используем контейнер типа div, span и подобные.
3. После этого - создаём CSS классы стилей к тегам для описания визуализации.
Ответ на вопрос "кто прав?" однозначен: правы оба, ввиду отсутствия предмета спора.