A module is cohesive if it provides functionality that logically belongs together. Modules are loosely coupled if you can change one without changing the other. Coupling defines a degree on which objects rely on each other.
With high cohesive modules changes in one of them should rarely require changes in other ones. Therefore if you find yourself in the opposite situation, it may be a sign that your modules are not cohesive.
Components should have loose coupling and high cohesion. It’s a fundamental principle in software development. Following it allows creating independent, reusable components with minimal dependencies on each other.
Loose cohesion, high coupling.
High cohesion, loose coupling.
It improves the following aspects of the module: