К сожалению большие объемы кода и оверинженеринг, как минимум у крупного бизнеса, это больше саботаж разработчиков чем их бездарность.
Крупный бизнес вводит метрики оценки качества работоспособности работников KPI, работники взламывают эти метрики, например попытка оценить качество работы через количество кода, количество закрытых задач в трекере, количество коммитов в репозитарий и т.п.
Так же есть еще более страшная вещь - работник, занимающий ключенвое место в проекте, намеренно усложняет исходные коды проекта, что бы никто другой разобраться и качественно поддерживать это не мог, а значит нужный работник будет премироваться и 'удерживаться' большими зарплатами.
В результате набор простейший форм с минимальной логикой может вылиться в полторы тысячи пакетов зависимости, среди которых к примеру свой regexp (кому то помешал штатный от javascript) сотни мегабайт исходного кода, ладно если бы он просто место занимал, нет, это используемый код, зависимости не просто так, они используются и делают задачу максимально неэффективным способом.
И да, я молчу про другую проблему - необходимость поддержки легаси кода, когдаисторически сложилось что часть кода, который переписывать некому, осталась со старых времен, идет процесс постепенного перехода на новый, он затягивается, становится новым легаси, приходят новые разработчики, заново пишут новый.. и вот таких наслоений несколько... избавиться сложнее чем переписать с нуля, но тот кто принимает решение об этом не готов (боится брать ответственность, еще одна проблема бизнеса) к этому радикальному шагу.. и вот такое тянется и болит как зубы у того кто боится зубных врачей.