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.
> Dismissing them because of 'new and shiny' is not a good reason.
How about putting a pin on technologies that are unproven and immature? Because many projects (and careers) have died a painful death because an overeager developer decided to bet the farm on a shiny flavor of the month because it was trending.