More often, there's nobody worthy for the role, which is why so many companies choose to hire a manager from outside the company rather than promote internally. If the senior managers were truly good, the company would also be growing rapidly, which opens many more manager positions.
This may be true, but these vacant roles are generally limited to candidates who have already performed at that level elsewhere.
It's very difficult to gain a promotion while also moving to an equivalent-or-better company. The easiest move is to go up in role while trading down in company, or up in company but down in role. True career advancement happens through internal promotion, or happens if you "trade up" to an equivalent role at a better company.
While this is true, everything is not cast in stone, people are changing positions and opportunities are rising. The org structure in most places is dynamic, additionally leaders usually happy to delegate their responsibilities.