Part of the hiring criteria is finding qualified candidates within a given budget range. It's not about trying to get someone on the cheap. Often employers will pay significantly more to recruit a top candidate.
Basically, they want to know if they can afford you. It's also a quick way for an employer to gauge the current broader talent market. Is their comp plan competitive/attractive? Should they go up market or down market to find the right people?
It's entirely fair to ask the recruiter to share the anticipated compensation band/benefits/perks,etc...
EDIT: What's worse is if you even imply it's not a relevant question, they get offended and then all friendly and pretending they're just making conversation and not making a hiring decision based on your answer...
I can understand how some may be hesitant to offer this info up since it is considered sensitive in many cultures, but I have no problem doing so. I understand that there is no malicious or malevolent intent in their request for this info (at least, there rarely is...).
At my last job for every hour I worked over my standard 40 hours I got an extra hour of annual leave. Standard hours in my field tends to be at least 45/wk so when I switched jobs I quoted a figure that included the value of this extra leave.