zbzalex,
1. Ну представь себя со стороны обычного пользователя. Он делает composer require package и пытается юзать классы пакета и у него ничего не работает.
2. Ну ты в папку app сделал корнем и автолоад от туда срабатывает. А ты уверен что юзер не сделает структуру пакета схожую с каким нить пакетом в композере и у них не пересекутся namespace?
3. Х.з. где ты черпаешь статистику. Вот более адекватный источник https://packagist.org/php-statistics
4. Ну вот видишь, ты пишешь код и смотришь со своей стороны и тебе кажется норм) Лучше не изобретать свой велосипед с автозагрузкой и юзать композер. Это сильно снижает порог вхождения т.к. это всё работает как принято везде и не заставляет разработчика изучать документацию, а тебя не заставляет писать документацию на то, что и так должно быть очевидно и осознается на этапе изучения языка.