With modules you can extend your site's functionality to any needed feature your client needs. For example of these features could be a Photo Gallery or a Search engine and so on.
There are two kind of modules, the Official Ones and the Third Party Modules. Modules will also extend your Content Codes. These extensions should be noted in the modules description field.
Each client site can have it's own modules independently of the other clients, or you can install global modules in your jCore server system which then will be available to all of your client sites, but only after you give them access.
Because you can have different modules for different client sites you can customize these modules differently for each of your clients, for e.g. if you would like to customize a global module for one of your clients just copy the module over to his lib/modules/ directory and start modifying the code as this won't affect nor the server's code nor the other clients code, it will be only for this client.
You can also create your own modules to lear more about that please see the Modules -> Submit section.
With modules you should be able to achive all the needs of a client not to mention that these modules could be used for your future clients this way making your job a lot easier.