In my experience, there are a few reasons why recruiters ask for a current salary.
Firstly, as others have noted, it's a good gauge of your career goals and your estimation of your skills. A candidate with a rare or valuable skill or attribute (cloud computing experience, security clearance, etc.) can expect a higher salary than someone fresh out of school or with an outmoded specialty.
Secondly, and this is more relevant for positions "on contract" (where you, as an employee of a company, perform work for another company or organization), there is usually a specific range of what a your prospective employer can afford to pay you. Say ACMECORP enters into an agreement with JoeCo that JoeCo will pay ACMECORP $50 an hour for twelve months to design a new website. ACMECORP will have "overhead" employees, who work at headquarters or branch offices, performing administrative and management work. Since these people allow the company to function, they cannot go on project, and the cost of their pay has to come out of the profit of work done. Depending on how many overhead employees work for the company, how many contract employees are available, and the overall value of the contract, among other things, the amount that employee can be paid has to go down to cover costs.
Thirdly, companies today are (in the US, at least) required to adhere to employment laws like EEO (Equal Employment Opportunity), which means keeping fairly detailed records on all candidates considered for a position. Because positions can receive hundreds of applicants for a single position, companies have to eliminate candidates from consideration, and many do so by screening out those with higher salary expectations. As a side note, technology (keyword searches, applicant tracking systems, etc.) is also frequently used for this, so putting things like "Negotiable" on your online profile can remove you from consideration, along the thought process of "If you have to ask, it's too expensive."
It's important in the interview process to be honest, both with your recruiter and yourself. If you feel, based on your qualifications, that you deserve a higher pay rate, tell your recruiter that. But remember that this is a "buyer's market" in many cases. If you are asking for a higher salary, I'd suggest backing it up with market research (i.e., salary.com). Be very clear when answering that kind of question - "I'm currently paid $x, but since I just got my [third-party certification], I'm looking more in the range of $x++." will go over a lot better than "My current employer pays me half of what I'm worth" or "I won't answer that question 'til I see an offer, bub!".