"equally qualified" is not an objective, measurable quantity, which is the whole cause of the issue... If dev productivity could be unambiguously measured and ranked, the issue of late promotions,etc would never have been raised.
These are fuzzy metrics, and what you consider poor\unfiar treatment, I may consider fair (and vice versa)..