Сейчас компонентный подход завоевал веб. И проекты без него практически не делаются.
На примере морских перевозок:
Можно свалить весь груз в кучу. И разбираться потом, где чье, как это вытаскивать, что можно положить сверху и тд.
А можно добавить элемент стандартизации - контейнер. Так все будут знать как обращаться с этими контейнерами. А содержимое не будет влиять на то, что лежит в других контейнерах.
Компоненты решают следующие проблемы.
На небольших проектах:
- Компоненты не зависят от родителя/соседей и их можно свободно переиспользовать. Уменьшает дублирование кода.
- Изменения в одном компоненте не влияют на другой. Что исключает баги которые появляются сами по себе.
На больших проектах:
- Работать могут десятки/сотни людей. И нет таких кто бы мог удержать всю логику в голове. В итоге каждый погружается в конкретный компонент, который является изолированной частью системы, и с ним работает.
Если для вас это не проблемы, не используйте компонентный подход :)
Самая простая реализация компонентов на фронте это бем. А другие методологии слишком редкие и специфичные. Если они вам нужны, то вы это знаете без вопросов.