Modules pack process-specific functionality in isolated classes with auto-loading, dependency and configuration capabilities, so it's easier to keep your app structure clean and clear.
In Cherrycake, all process-specific functionality is packed in modules. A great example is the Database module, which is in charge of all the communication with a server like MySQL.
Modules can have configuration files. For example, the Database module requires a configuration file where you set up a MySQL server address, user and password. User modules can have configuration files too.