Whyfore Modularity?

So, when I was last trying to write something serious, it was about writing modular code. Sam pointed out that I should define what I would want to achieve; here it is:

Code Maintainability

The benefits here are pretty widely understood and accepted. Code that is cleanly organized has fewer bugs and is more maintainable [...]

Whither Modularity?

I’ve been thinking a lot about modularity lately. Specifically: what can you do to ensure that a large, evolving Java codebase is written and maintained in a modular way?
Despite having just turned 10 years old, Java still hasn’t provided a good answer.

There certainly are many tools and techniques for identifying poorly-modularized Java code, but [...]