Modularization subdivides a system into smaller parts called modules. These interchangeable modules give a program configurability by being swappable to a client's needs.
Subdividing creates a structured approach moving complexity on a modular level rather than system-wide. In other words, a minor change does not impact the entire program.
By grouping modules, there's increased safety by ensuring resource requests transfer through modules rather than having direct access.
Lastly, smaller modules reduce maintenance.