OOP can be used well or badly. The OOP lessons learned in school may not result in code that can be understood by a new generation of maintainers. OOP can be used to subdivide complexity into smaller pieces that can be understood, developed, extended, and maintained.
The learning curve for top-down programming is more steep than that for OOP. If you master OOP you will find it easier to develop big projects.
OOP is just like any other fad. Initially being OOP-savvy indicated that you were well-versed in the newest and best programming languages. OOP became a status symbol because people caught on to it. Everyone wanted to show how OOP-savvy they are and managers wanted their teams to be as OOP-savvy as possible.
Like any status symbol, people seek it out more than they should