Сайт можно разработать, используя только язык программирования. Вам придётся весь необходимый функционал написать самостоятельно, но при это написать можно как угодно и производительность будет зависеть только от вашего мастерства.
Можно сэкономить себе время и силы, используя библиотеки, но это наложит на вас ограничения, писать придётся с учётом API библиотек. Да и привнесённые библиотеками абстракции начнут влиять на скорость работы кода.
Можно ещё больше ускорить разработку и сократить трудозатраты, если взять фреймворк (например Django или Flask), но и ограничений станет ещё больше, как и влияния на производительность.
Наконец, можно взять CMS и свести разработку до примитивного конфигурирования, но на этом уровне вы будете со всех сторон зажаты ограничениями низлежащих библиотек, фреймворка и самой CMS, а производительность у CMS печальная до безобразия.
Вам выбирать какой баланс между ручной работой и свободой действий выбрать, на каком уровне абстракции и унификации остановиться.