I've spent more than 2 decades in various large corporate environments and things couldn't be more different on the ground...
Most developers aren't Star-trek types at all, and not even engineers. They don't have a strong talent or appetite for tech. They're what some call "bread programmers". At best, they do a reasonable job, and then go home.
I've worked with many "senior" developers in this space and even they do a terrible job in keeping up. They seem to have a large disinterest in the field altogether. These people are invisible, you will never find them online in forums like these.
But there's another aspect: age. It's fun being on top of tech in your 20s. It's quite different when having a fulltime job and a family, in your 40s.
Most never get to work on anything cool or fun.
In this large group of bread programmers, which I estimate may be the majority of the market, there's still people with useful skills or experience that other companies would look for. The reason you can't get them to move is because in most parts of the world, you don't get a 50-100% increase simply for moving jobs. It's more like 10%. Since they're already comfortable, they won't move.
Also people don't want ping pong tables or mission statements where we "push ourselves beyond our limits". They want a life.