The reality of it is the recruiter is working for the employer. The recruiter just wants to fill the vacancy as fast as possible and get their paycheck. They don't care about what salary they place you at because they get much more money by finding good candidates quickly, and they are unlikely to ever work with you again. But they will probably work with the same businesses over and over. The recruiter getting paid more because you get a higher salary only aligns your interests weakly. It can still make sense to work with recruiters for all the parties involved, but you need to make sure you are negotiating on your own behalf and plan that the recruiter will negotiate more strongly for the employer.
Yep, this is akin to the Freakonomics "why don't real estate agents always push for the highest sales price" question. The gist being, it's a numbers game for them. The extra 5-10k they negotiate when selling your house makes a small difference in their commission, and usually comes at a disproportionate cost - either risk of the deal falling through, or time spent in negotiations that could have been better spent moving on to the next deal. It wouldn't surprise me if recruiters face a similar calculus (time spent negotiating on your behalf, risk of damaging their relationship with the company, etc.), and would definitely agree that at the end of it, you have to be responsible for your own outcomes, because no one else will be.