Earlier quoted context omitted.
Many times asking for your salary isn't a nefarious negotiating tactic - it's just to make sure both parties are in the same ballpark. If you're already at $110K and the opening tops out at $80K, there's no reason to waste either party's time.
If that was the case, why couldn't they say "This position tops out at $80K, will that be a problem?"
1) It's about gaining intelligence - not in a nefarious way. If enough candidates at the right experience level are giving me a range of $90K - $100K and the client still won't budge beyond looking at candidates in the $60K - $80K range, I can eventually come back to them and say "Listen: of the last 10 candidates you liked, their salaries were..." A smart, reasonable client will make adjustments.
2) In rare cases: a "rockstar" candidate may be able to get 10% more than the budgeted amount, for example. So I would hate to send you that $80K tops message if there were potential for a perfect match. Then suddenly you're no longer interested and we missed a grand opportunity.
Again, I agree with you for the most part. But ultimately, the recruiter figures: 99% of candidates give their salary number or a tight range, upfront, without issue, so there's no harm in asking for reasons 1 and 2.