The UCMS implements the Model-view-controller (MVC) architectural pattern. In this architectural pattern, the term “Controller” stands for plugin, the term “View” for template, and the term “Model” for a class or object (of the PHP programming language).
If you, for example, want to list a customer's invoices on your web page, then you will need a plugin for listing the invoices (the Controller), a template to be rendered (the View), and a invoice class/object which represents the database record (the Model).
In order to facilitate development, the UCMS has some reusable default controllers, such as create account, login, change password, and many more. As a result, you do not have to redevelop these things again and again for every new application, instead you can focus your work on the things that make your application unique.
If you want to program something new you need a custom controller.
For more information, see Custom Controllers
If you want to program a login or something like that, you can use an existing controller.
For more information, see Reusable Controllers