The only reason to learn most of these frameworks is if your line of work has a high chance you’d inherit, need to support, and/or build new features on top of such a code base.
Otherwise, we don’t need 10 different tools for building—what is at the end of the day—a simple website or CRUD application.
Complexity isn’t a good thing. Creating complexity is the first sign of inexperienced coders.
One good reason is to learn different ways of doing things. I think the best way to understand why something is the way it is is to look at different ways it could be done and what are the pro/cons of it.
I've seen many times that trying and understanding a new framework leads to me implementing something in a better way in a framework I was already using.
Otherwise, we don’t need 10 different tools for building—what is at the end of the day—a simple website or CRUD application.
Complexity isn’t a good thing. Creating complexity is the first sign of inexperienced coders.