I feel like it exists for a few main reasons:
- People have different priorities. Some are all about the money, some want the retirement contribution, some want equity, some want vacation, etc. People also proportionally value these things differently. How much do you value an extra week of vacation to say, more retirement contribution or more salary? Negotiation solves this problem.
- As has been said, the employer and candidate have two directly opposing goals. The employer wants to pay the least they can while not feeling like you'll get a higher paying opportunity a few weeks later, and the employee wants the most money.
- Negotiation keeps things competitive. If every company stopped allowing negotiations, it would either become a race to the bottom or the top (I'm actually not even sure which, but the cynic in me thinks bottom).
Ultimately, I think this whole thing is stupid. I'm a guy, but I have to imagine this is patronizing as all hell to women. Isn't this the kind of shit feminists have been fighting forever?