- Tough to get out of the bottom pile: Your potential has something to do with getting recognized / promoted. But, being in the right place matters much more. If you don't get the good assignments (work on the new gee-whiz interface, some new platform etc) then you wont be rewarded. That will affect what you get paid, promoted etc.
- Silos and politics. Like every other big company, I imagine. This makes it tough to get through with game changing technologies which require working across silos. If a Sr. VP pushes it, of course it will happen. Question is, are they the closest to the customers needs? If not, they should listen to the people who are.
- Rather arbitrary and capricious promotion process for engineers: The tech ladder needs you to have a assignment that you can demonstrate some glamorous achievement to get promoted. If you don't have that, the tech ladder wont reward you for delivering solid results on whatever is important to your management. This de-correlation between the recognition and what your manager wants you to do, is a career killer.
e.g. If you work on a SW project - something - e.g. a compiler, then if you deliver generation after generation of compilers, it becomes a case of "What did you create that you deserve a promotion/recognition/whatever?"
The same think applies to HW folks too. If you don't invent a new circuit or something, you don't get recognized.
- Some bad managers, who cause people to leave.