There's a ton of Tedx talks on why companies fail to promote within -- esp. the large household name companies. Check out TedTalk's website for those talks. They are very informative.
Also, here's 10 reasons why, accord. to this blog, that companies don't promote within:
The Top 10 Reasons Companies Fail at Promoting from Within
Another blog's 7 reasons why companies don't promote within:
7 Dark Reasons Why Good Workers Don't Get Promoted
I fit all 7 reasons why when I worked in the call center for a large online company. My friend at the time got me the referral after she was promoted out of the call center to the job she's had for 15 years now. I couldn't get out of the call center after 2 years, for all 7 reasons mentioned in the second blog link here. So, I was fired. Pfft.
Also, toxic leadership is another reason people who are qualified for promotions won't get promoted. Toxic leaders will keep people trapped in their roles, because they need the person's skills and/or they don't like the employee. I hate corporate America for a gazillion reasons for the internal politics, toxic work environment, backstabbing coworkers who sabotage the coworkers they view as competition, toxic leaderships, etc.
Show me a healthy work environment and I guarantee you it is NOT in America unless it's a foreign company or in a foreign country. America has the worst track record of toxic work environments in the entire world. And I don't see that changing any time soon. I wish I was wrong, but if I had the money, I'd leave America and move to Europe or Asia.