If you do a web search on "object-oriented programming" you'll find many in-depth explanations of the reasons and methodologies -- probably more accurate than anything I would type up in a forum response.
It's not just for the sake of more modular code, but rather using that modularity and resulting separation and compartmentalization of concerns to create more robust, testable, reliable, and maintainable code.