И в чем же ограничения такой архитектуры?
Как и в любой архитектуре, в сложности.
Любая абстракция полезна там, где она упрощает жизнь.
Если приложение слишком простое для слоёв, то они только добавят оверхед.
Если приложение слишком сложное, то слои недостаточны. Придётся провести больше архитектурных границ. Бить на модули. Выделять компоненты. Изолировать, инкапсулировать, разделять и властвовать.