There's nothing more frustrating. Internal candidates are already known - which may work to their advantage and, in some instances, to their disadvantage. After all, your strengths as well as your weaknesses are on display every day. Sometimes employers are happier taking their chances on hiring someone from the outside. Your perception is that your corporate culture is not conducive to promoting from within, and you may be right.
Some companies do have career development programs.
If not, you may find greater opportunity outside of your organization. Next time that you have an interview, it will certainly be a question that you will want to ask of prospective employers. It sounds to me as though your experience has eroded your trust in your company - the key to employee retention. You also need to be developing new skills to make sure that you are staying current and would be a truly valuable candidate for other positions. You may assume that you are qualified but outside candidates may have won the job with a different skill set than yours.