Basically, MVC is a way of partitioning a program into distinct chunks, a model, a view and a controller. It is an idea that leads to very solid, easy to maintain software packages.
By easy to maintain, I mean, you can quickly determine what is going on in any particular screen by examining the related action.
Because it tends to be the same pattern repeated, you can apply the same approach to all areas of the application.
MVC is simple and, we like simple here.
The model is a bit of a misnomer, but in general it could be considered the "guts" of an application, it typically contains database access or other logic Not related to user input or display.
The controller is sort of like a dispatch agent, figuring out what model to run.
If you think about the web server for example, the controller could be seen as the web server, examining a URL and determining which model to run. (the "model" in this case is the web page)
The view, in our "web server is the controller" analogy, would be your web browser.
It is responsible for the display of information. (Usually when people speak of views they are referring to HTML.
$model = $controller->getModel($input);
$view = $model->run();
$view->display();