The concept of ``modules'' has many benefits. One important benefit is that a kernel can load only the modules that it needs. This helps to decrease the footprint (memory used) of an operating system. Another benefit of modules is the ability to update modules without having to update the kernel.
In Linux, one can decide how much functionality to be hardwired into a kernel, and how much to be supplied by modules. Most distributions shift most functionality to modules. A kernel that includes most functionality statically (without modules) is called monolithic.
Linux modules expand the kernel in many different ways. Everything from network protocols, file systems to device drivers can exist as kernel modules.