Комментарии в CSS и HTML — простой инструмент, которым при этом на удивление легко пользоваться неправильно, впадая в одну из двух крайностей: либо не оставлять их вовсе, либо комментировать буквально каждую строчку, что превращает файл в нечитаемое полотно текста вперемешку с кодом.
Хороший комментарий объясняет не что делает код — это обычно видно по самому коду — а почему было принято именно такое решение, особенно если оно неочевидно на первый взгляд. Например, почему у конкретного элемента задан странный на вид отрицательный отступ для компенсации чего-то ещё.
Комментарии-разделители, отмечающие крупные секции CSS-файла вроде "стили шапки" или "стили формы обратной связи", помогают быстро ориентироваться в длинном файле, особенно если возвращаешься к проекту спустя месяцы и уже не помнишь его структуру наизусть.
Временные заметки вроде "переделать после согласования с дизайнером" или "костыль, требует внимания" — тоже нормальная практика, но такие комментарии стоит периодически пересматривать и убирать по мере решения соответствующих задач, а не оставлять висеть в коде годами.
Комментарии в HTML, отмечающие, где заканчивается один крупный блок разметки и начинается следующий, особенно полезны в длинных страницах с глубокой вложенностью, где закрывающий тег может оказаться на сотни строк ниже открывающего, и не всегда очевидно, чему именно он принадлежит.
Излишние комментарии, дублирующие очевидное из самого кода, скорее засоряют файл, чем помогают — если название класса и так понятно описывает назначение блока, отдельная пометка об этом же обычно избыточна.
Про баланс между документированием кода и его читаемостью хорошо рассказано в общих материалах о поддерживаемом коде на MDN Writing Style Guide.