В самих нестандартных тегах ничего плохого нет. Дело в другом.
Нестандартные теги — часть более сложного и относительно нового инструмента — веб‑компонентов. Они нужны не для замены классов, а для решения куда более сложных задач. И пока даже многие профессиональные разработчики не всегда понимают, как и когда правильно использовать эти инструменты.
Обычно, говоря о сложностях с нестандартными тегами, вспоминают о поисковой индексации, доступности, валидности и подобных тонкостях. Но это всё мелочи жизни — современный веб и так весь индексируется чёрт знает как, не доступен и не валиден. Теги тут погоды не сделают.
Главное — что неопытный разработчик, выдумывая свои компоненты и правила их работы, легко превратит код в никому не понятное непредсказуемое говно. В лучшем случае он будет ковыряться в нём сам, в худшем — вынудит поучаствовать коллег.
Любое нестандартное решение требует больше внимания и усилий, чем стандартное. Любое нестандартное решение имеет больший порог вхождения. Любое нестандартное решение требует лучшего понимания материала и контекста. Это критически важные вещи при конвейерной работе в условиях небесконечных ресурсов — то есть в рутине разработчика. Цена нестандартности высока.
Поэтому я и не советую начинающим разработчикам использовать нестандартное. Не усложняйте без причины. Стандартное решает 99% задач, нужно просто нормально его изучить.
См. так же:
P. S. Это был совет о веб‑разработке. Хотите знать всё о коде, тестах, фронтенд‑разработке, цеэсэсе, яваскрипте, рельсах и джейде? Присылайте вопросы.