I agree what you say, but there is also a different case.
I heard a lot of stories about companies paying different just basing on where the programmer lives. Eg. if he switches location, he automatically gets less/more money. This is a biggest nonsense for me I want to clarify.
If they can get away with it, they'll try, because it's more money in their pocket. They don't care if it's fair or not. Plus, often times the people actually making salary decisions like that are "HR professionals" or something, who have no real understanding of the value of one individual vs. another. They just compute the minimum salary needed to keep the turnover of generic FTEs low in some market.
I heard a lot of stories about companies paying different just basing on where the programmer lives. Eg. if he switches location, he automatically gets less/more money. This is a biggest nonsense for me I want to clarify.