Ruby modules allow grouping of related methods and constants in a namespace to avoid naming collisions. Modules can be included in classes using the 'include' statement, providing a way for classes to inherit functionality from multiple modules, implementing a form of multiple inheritance known as a mixin. Modules define a namespace and methods are called using the module name and a period. The 'require' statement loads module files so their contents can be used.