Бизнес хочет чем быстрее получить решение своих конкретных проблем. Чем меньше времени и денег затратить и получить то что можно использовать.
Разработчик, во-первых, хочет затратить чем больше денег при меньшем напряге (ведь все ему), но при этом не переступив черту, чтобы никто не мог его опорочить и сказать что он мошенник, что нихрена не делает а деньги гребет. Но обвинить так очень сложно на самом деле, хотя попытки были у бизнеса (как то дать одну и ту же задачу разным людям и посмотреть как один сделает за 3 часа а другой неделю будет мозги компостировать — а зарплата одинаковая).
Разработчик хочет чтобы легко было найти другую работу. По этому разработчику выгодно писать свои фреймворки и даже интерпретаторы языков (для повышения навыков) — тем более тут никто не скажет, что ничего не делал — вот же куча строк кода (а нужны ли они бизнесу — тут вопрос всегда дискуссионный). Бизнесу это не нужно, как правило, но так глубоко в детали могут и не вникнуть — ибо микроменеджмент не преветствуется, как учат в бизнес- школах.
Ранее бывало что некто пользователь и разработчик в одном лице пишут некую прогу — и там на самом деле нет ничего лишнего. Как тот nginx (и не только) написан собой для себя. Но это было раньше — сейчас все меньше для таких возможностей ввиду усложнения ПО — один человек уже не сможет ничего полезного сделать, просто не хватит рук.