Some reasons (based on my experience):
- University classes were either very low level, or using some new framework to increase your employment prospects
- All the experienced devs would hop jobs every few years, leaving less opportunity for mentorship.
- Lack of convenient resources for gaining base knowledge. Googling "how to make a todo list webpage tutorial" will always have articles using the latest web frameworks, for instance.
(Not really anyone's fault, a good engineer has know where to go for the right information. But as a junior without that skill it's easy not to get good information.)
My personal strat when learning a framework is sometimes building what I want without it, running into the common problem patterns, and then looking at how a framework solves it.
It's very time consuming so I only do that for personal projects, but I think I've learned the most base knowledge for really groking a framework doing that.