Promotion and level (I can only speak for engineering department) is dark mystery. I have seen lower level people performing better and more productive than higher level ones. The criteria of different level/promotion seems to broad, but in the end, all seem to be applied somewhat arbitrarily by upper management. In short, it all depends on how upper management sees you, instead of how you actually perform. And what you do matters a lot - doing more visible work obviously gets one ahead much more quickly - that does not necessarily means the one is more competent though. Management may give you a reason why you are at this level, but as you look around, other more senior people can suffer same problems yet somehow that does not matter to other. This eventually will instill a kiss-up culture (you just need to make some key upper level people feel you are competent) as I have seen in some other companies. Also people are less motivated to do things that also are critical to company functioning (but less visible to upper management). You can feel short-circuited by upper management sometimes.
Lack of appreciation by upper management is also a problem. Many times people work overtime to make schedule met but got little formal appreciation. Some small appreciation is not going to bankrupt the company.
Upper management seems to be content on what they are doing. I see lack of motivation going after different directions. This can be a major problem in technology field where things change so quickly. A major shift in market can render this company totally irrelevant.
Constant unloading of shares by upper management is also a big concern. This can indicate less commitment of upper management to this company.