I was in a pub listening - rather than talking to - an ex Army Sergeant who was keen to expose what he considered to be wrong with the Military to anyone that would sit there.
Basically his view was personnel are promoted to the level where they become incompetent and that's where they stay.
Sounds perfectly correct in my experience. As long as you are improving, you will be promoted. Once you reach a level where you can't improve, you're unlikely to move further up the ladder. This may be okay in the civilian world but military tactics can leave people behinfd as they change rapidly in some areas, hence rendering them incompetent.
I think that sometimes commissioned officers are promoted because they are incompetent, in order to get them out of harm's way (where they can't cause any harm).