Верстаем мы всегда с макета.
Я не говорю о таком кейсе как собрать админку из компонентов бутстрапа по прототипу - это как раз самое правильное его использование.
Так вот от макета мы очень сильно зависим.
Если дизайнер потрудился хотя бы использовать сетку, то сетка и система breakpoints из Botstrap (4 версия, на scss) нам очень поможет. Если дизайнер идиот - не поможет ничего.
В моем шаблоне проекта сетка и брекпоинты есть по умолчанию. Так же как некоторые helper-классы.
Что касается остальных компонентов (типографика, таблицы, формы, кнопки и т.д.) - всегда нужно задавать вопрос, что проще/лучше: стилизовать свою кнопку или переопределить имеющиеся.
Насколько классы предлагаемые бутстрапом впишутся в общий стиль проекта?
Насколько мы облегчим поддержку проекта, перекостылив под дизайн половину того что взяли от бутстрапа, а 2/3 проекта написав своими стилями?
Я видел как по дефолту суют
bootstrap.min.css
bootstrap-theme.min.css
bootstrap.min.js
потом в отдельном файле переопределяя и дописывая все что нужно. Целый мать его bootstrap.min.js из которого использовалось только меню-бутерброд!
Видел целую коллекцию костылей, перемотанную изолентой чтобы было как в дизайне.
И что, насколько я новичёк и максималист с моей библиотекой миксинов (документированных, в т.ч. из бутстрапа), scss файлами, разнесенными по блокам и BEM-подходом к наименованию классов?
С опрятным css на выходе и инструкцией-рекомендацией как и зачем всё же использовать препроцессоры.
Таким образом, присоединяюсь к ответам
Сергей и
Serj-One . Каждой задаче - свой инструмент.
А поддерживать легко не столько код где использовался фреймворк (особенно в контексте css), а код, где использовалась голова.
P.S. Вот ещё достойное мнение например:
https://gist.github.com/iAdramelk/d328b73c72cab92ef95f