Разработка веб приложения это:
* дизайн
* верстка (требуется специалист умеющий css/html)
* фронтэнд - клиентская сторона
* бакэнд - серверная сторона
(а еще тестирование и юзабилити дизайн)
На каждое из этих направлений требуется специалист, иногда они пересекаются (верстка и фротэнд или фротэнд и бакэнд) и в некоторых случаях даже мождно использовать готовые фреймворки, объединяющие сразу несколько направлений.
Главное отличие 'все сам с нуля' от 'использовать готовый фреймворк/cms' - в варианте готовый фреймворк вы получите все готовое но основное время вы будете тратить не на свою задачу, а бороться с особенностями и глюками этого готового решения. Грубо говоря вы получите что то готовое, много, голова кружится как легко и быстро вы это сделаете, но потом будете тратить много много времени чтобы добавить маленькую фичу, не предусмотренную разработчиком. И главное, поддержка со временем. Мало какой фреймворк живет дольше трех лет, какой там, через год разработчик посчитает что он сделан на устаревшей технологии и решит все переделать, забросив прежнее решение. А отсутствие поддержки это проблемы в кубе в продакшене.
Но если вы делаете свое решение, то поддержкой этого решения так же придется заниматься вам самим. Думайте об этом, когда будете оценивать 'стоимость' решения.
Истина где то посередине.