I think that Google does try to treat their employees fairly. I don't think the promo process is the way it is because of greed.
That said, I do think that the system is biased in Google's favor. It's designed much more strongly to filter out false positives (promote someone underqualified) than false negatives (withhold a promotion from someone qualified). As a result, it lets Google pay people at their lower-level title even though they're doing higher-level work.
I can understand why they do it, having someone incompetent in an important position is way more dangerous for the company than having someone competent stuck in a lower position.
But it's still a risk to lose good employees, talent is very valuable.
That said, I do think that the system is biased in Google's favor. It's designed much more strongly to filter out false positives (promote someone underqualified) than false negatives (withhold a promotion from someone qualified). As a result, it lets Google pay people at their lower-level title even though they're doing higher-level work.