I can only speak to what I know, which is being an engineer (and subsequently an engineering manager) in a big company full of engineers.
Early on in my career I plotted my salary progression and then used that linear curve fit (R^2 value of 0.98, for what it's worth) to predict what my future salary would be if I stayed pace. 11+ years into my career I am holding steady though it feels like it will drop off at some point. I started out as a level 1 engineer, got a master's degree on my company's dime, and moved into management.
For what it is worth, here are my observations. I think my progress is not unheard of but not the norm in my company. Due to a combination of good luck, hard work, good education, and a bit a je-ne-sais-quoi, I have gotten a lot of opportunities to advance. Leadership development program, being flagged by HR as a "high potential", worked at multiple sites (large company), program management development program, extra training, involved in extracuriculars and special projects, etc. In participating in all of that I end up seeing the same smallish subset of people involved and getting visibility. A lot of people don't have the desire to move up like that. Some people do and just don't have the appropriate mix of technical and people skills to do it.
The point being is that most people are clustered somewhere in the middle of the bell curve and the people I see who really advance their career/salary are on the right-hand tail of that curve. They are smart, driven, well-educated, have excellent interpersonal skills, and most of all just get shit done. When you have a reputation for taking care of problems then people keep coming back to you with more opportunities. It's a positive feedback loop.