Getting promoted isn’t a race. It’s a marketing campaign. The squeaky wheel gets the grease sadly. I hate it but that’s the game. You can be great but if the right people don’t hear about it it won’t bring a reward.
The funny thing is it’s a loss for the employer since it means people spend time self-promoting themselves and their achievements instead of just doing things well.