There is another factor, and that is I tend to concentrate on the families I have experience with. Jumping to another manufacturer's ecosystem in general is a very significant step, akin to changing your PCB CAD package. Although the fundamentals generally remain the same, they all do things in a different way.
About nine months ago I started using NXP and TI Cortex M4 after being about 95% PIC for the last 20 odd years. This followed a disasterous series of blunders by Microchip over the period of a couple of years, culminating in their PIC32MZ series that were very late in silicon release, and some very buggy silicon. In particular the ADCs turned out to be a crock. Add to that I had to learn their new Harmony framework to do anything more than blink an LED, I thought if I was going to have to learn something new then now's the time, and NXP and TI were offering devices that appeared to fit the bill.
I fear that trying to be an expert across all manufacturers is going to be hard. It's not much different to thirty years ago, when you were either a Z80 or a 6502 person. Sure, I wrote code for both, but I was most comfortable on the Z80.
What's been interesting for me is that the switch to ARM from MIPS hasn't been a big deal, but then these days it's all in C anyway. The big differences are in the implementations such as clocking and the peripheral sets, and in the various manufacturer supported toolchains.
Regarding the difference between now and MCUs of 20 years ago, surely it must be in debugging? 20 years ago I don't think there was any on chip debugging on MCUs. You'd have to blow a grand on an ICE, and they tended to be chip specific too. I can't remember using IDEs either back then for development, it was edit, compile, program without any debug step because ICE was well beyond the reach of the average tinkerer.