The short answer is: MVC stands for Model, View, Controller.
The idea is to separate your code so each function is only doing one job and doing it well. This means that other code can hook into it without any troubles.
Models are the modules that deal with reading data. For instance:
PHP:
public function countWorksByUser($userId)
{
return $this->_getDb()->fetchOne('
SELECT COUNT(*) AS total
FROM cc_work AS `work`
WHERE `work`.user_id = '.$this->_getDb()->quote($userId).'
');
}
This bit of code counts the number of entries a user has in my custom tables. This is useful because several different things might want to count the works a user has - the cron job for awarding trophies, a permission system (for if I want to limit the number of works a user can create), and so on and so forth. I can just point them all at this code and have a single point of failure.
Controllers are the engines of your code - they actually do things. For instance, controllers are in charge of receiving the data from the models and working them into a form that can be used by a View. One of my simplest controllers is:
PHP:
public function actionNew()
{
$this->assertCanDo('canCreateWork');
return $this->responseView('CreativeCorner_ViewPublic_New', 'works_new');
}
This is called by XenForo's routing system (which is a topic outside the scope of this post), and simply calls my function for checking user permissions, and then responding with a View.
Views are in charge of turning the data the controller has worked with and presenting it - whether that be to the user, or as a JSON request, or otherwise. The nice thing about XenForo views is that a lot of the time they don't need to actually exist - CreativeCorner_ViewPublic_New does not resolve to a real View, as XenForo takes care of that for me. Although you don't need to actually do this yourself, most Views take the data and tell XenForo to output a template.
There are also DataWriters, which basically tell XenForo about the database and your tables - and of course are used in extending XenForo's methods that write to the database.
This isn't designed to be an tutorial or anything, just an illustration of the basic elements. I strongly recommend you follow through some of the
Development Tutorials, which do a far better job of explaining things than I do