In perm hire recruiting, the recruiter is typically paid a percentage of the candidate's starting salary. That means the recruiter and candidate are aligned in negotiation - if the recruiter can negotiate a higher salary, both the recruiter and the candidate are beneficiaries.
Therefore, the more the candidate makes, the more the recruiter makes. Win/win.
For contracting roles, a recruiter is a middleman and trying to maximize their margin, defined as the difference between bill rate (what the client pays the recruiter) and pay rate (what the recruiter pays the candidate).
There are only a few ways the recruiter can maximize margin.
The most obvious is to negotiate the bill rate UP and/or the pay rate DOWN. A less obvious way is to simply try to make sure the candidate with the lowest pay rate gets the job. So if I have two candidates and one is asking for 100/hr and the other is asking 120/hr, if I can get the 100/hr candidate into the job, that means an extra 40K in the recruiter's pocket for a year (based on 2000 hour work year).
I'm admittedly oversimplifying a lot of things here, but the typical recruiting model is not aligned with candidates for contract hiring.