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