They're sort of used car salesemen (with used car being you :) ) that need to move inventory off the lot.
It less important to spend time to get extra 5% then sell two cars quicker.
No offence but it's a good analogy.
Also no one can really negotiate for you because ultimately you have to know what you will accept and that depends on feelings as much as facts.
I think that the salaries of some programmers and such have gotten high enough so that something similar to an agent should be available to negotiate salaries. There are some programmers that should be called superstars and they should be paid as such.
As someone who had graduated from uni about a year earlier, I had a very bewildering year at the company.
Some recruiters might see it as a violation of trust telling the candidate the salary range, and often they value the one who's giving the money, so they usually let you handle the negotiations.