ну почему, чем больше complexity твоего проекта тем больше слоев.
Если ты пишешь hello world то тебе не нужны юз кейсы, репозитории, апи, модели. Т.е. не обязательно в твоем проекте должно быть все это.
И это всего лишь общепринятые наименования паттернов/подходов которым рекомендуется следовать при разработке.
Еще куча всяких очевидных и менее очевидны принципов которые нужно соблюдать: DRY, DIE, KISS, SOLID, YAGNI и т.п.
Что то третее можно встретить, но в большинстве случаев это тоже самое только в другой обертке с другим именем.
Попадался проект написанный через mediator:
https://refactoring.guru/ru/design-patterns/mediatorмне как то не зашло, я больше за блоки, репозитории, юзкейсы 🙂