We usually come across two types of people in any working place. Some of them work very hard and will not be recognized for their hard work and sincere efforts. Others who may not be working very hard, but will get very good reputation and get promoted every year because they tend to be very smart. This is otherwise called "survival of the fittest".
It's said that anyone who wants to grow steadily in the corporate should be smart enough to adjust and to act according to the situation. The smartness is required, but at the same time should not ignore or escape from the assigned goals. Some of them who will showcase the talents of others as is of theirs and will get recognized (other wise called credit thief). I feel that the hard working people with lots of talents and skills are ignored in most of the occasions because of their attitude i.e. not able to expose / showcase their talents.
The management should identify those people who are very sincere, hardworking and not able to showcase their talents (introvert) by imparting proper training / recognition to them.