основной мотив разделить код на автономные части, аля приложение-драйвер. У такого подхода есть свои плюсы и минусы, но с минусами я так понимаю Вы разобрались. Программисты, народ такой, у них работа разные абстракции создавать, вот и создают. Ну что с ними/нами делать? Тока понять и простить. :)