Retained recruiters, whether they're contract or full-time, are ones you pay to represent your company. They work off a salary or an hourly rate, like normal employees. They expect to be there in a year or two, so if the hire doesn't work out they'll hear about it. They represent you as a company and don't have any incentive to hide who they're working for or who they're talking to. You can still get clueless recruiters here, but at least the relationship is much better.
You also need to look at risk. In contingency recruiting, 100% of the risk is on the recruiter. Company pays nothing until a hire is made, so companies can engage all the contingency firms they want and most will be doing free labor - spreading the word about the company, drumming up interest - it's free PR for the company. I could find 10 perfect candidates and spend many hours, but not make a dime if none get hired or if the company changes direction.
In fully retained recruiting, all the risk is on the company. The company will pay money out and may get mixed results. My model tries to split the risk a bit, with small upfront fees and small back-end fees (all flat fee and unrelated to salary).
Negotiating with a couple recruiters to pay them some money up front with additional back-end payout for performance may yield better results for companies that complain about contingency firms. Recruiters will appreciate you reducing their risk, and by removing the risk a company should be able to negotiate a lower fee.