Ну и в 10000001-ый раз

MVC - архитектурное решение призванное отделить логику приложения от его отображаемой части, с целью возможности замены или дублирования (например) отображаемой части без изменения логики этого приложения. Отсюда - критерием для применения MVC не является сложность или простота приложения, а желание или необходимость создания вышеуказанных возможностей.
По поводу контроллера. Известны вариации типа "Document-View", это почти то же MVC, только без контроллера. Зачем вообще контроллер? В пору когда был придуман и описан MVC языки программирования еще не владели такими "умными" средствами отображения, какими мы пользуемся сейчас, и контроллер нужен был для интерпретации поступающей информации, как бы делая из полуфабриката готовую пищу для модели. В современных приложениях, тем не менее, можно применять контроллер в качестве диспетчера информационных потоков внутри приложения, ну и отдать ему какие то контрольные функции в плане, например, допустимости получаемой информации. Таким образом избавляя и Model и View от исполнения несвойственных им задач.
Здесь на форуме, есть мнения несколько иного плана. Например, контроллеру отдается и коммуникационная роль и роль выполнения бизнес-логики делая из модели, таким образом, тупое хранилище текущих данных. Конечно, каждый волен реализовать архитектурное решение так как он их понимает. Но, мне, возможно из за недостатка опыта, такой подход не кажется правильным.
В любом случае, MVC - не серебрянная пуля, это лишь один из целого набора архитектурных решений. Мне кажется, что он просто сейчас моден. MVC - это круто!!! .... в таком духе

. Есть, например, правило пяти принципов -
SOLID, но, кажется, это сейчас не модно...
