Глобально это ничего не меняет. Все просто упирается в ТЗ и время.
как и все наши проекты. а еще в наличие багов. покрытие тестами. сложность поддержки. масштабируемость. потому что не бывает идеально реализованной фич в вакууме. и не все фичи пилят супер скилловые сеньоры код которых лаконичен и читаем. посыпем все это сверху динамически меняющимеся требовниями в процессе построения продукта и вуаля - ваш ебаный франкенштейн готов ))) не всегда конечно так но часто. короче если есть вариант взять либу (с учетом разумеется здравого смысла и требований проекта ) почему не взять и лишить себя куча головной боли.