If I have simple module, is there any reason why I should ever use Model and not just write everything in controller? Are there any limitations to this?
Models are generally used for the deal with data and logic implementation.
Main advantages of model classes are that they are reusable. You can use anywhere and anytime in your application.
To avoid writing all logic in controller and using the model because we can use that logic in anywhere in app without modification.
If you write all logic in controller you can only use that within you action or controller class.