The MVC pattern is used throughout software engineering.
It separates parts of an application to increase the re-usability of code (reducing redundancy) and makes the code easier to work with.
The model deals with fetching and holding data.
The view handles the user interface and inputs.
The controller processes any data and inputs between the model and view.