What are benefits of adopting kernel modules in the modern Linux kernel?
Efficiency. Thanks to modules, the kernel doesn't have to have
every last driver loaded and running, nor does the user have to
recompile the kernel every time they need to load or unload or
update a driver.
Before the Linux kernel adopted modules, one had to recompile
and reconfigure the kernel any time they wanted to change drivers.
Today it's as simple as unloading and reloading modules.
Some people, however, like to disable modules and build
everything into their kernel when they create a custom Linux
kernel. This is done largely because when someone makes a custom
kernel there is no question what drivers and pieces of the kernel
will be needed, and modules would be unneeded.