There are so many sides to this debate! As a local government, we do list our salary range. Unfortunately, applicants interpert it to be they can start any place within that range and that is not the case. What it's saying is that while employed your salary will never go higher then the top dollar amount (salary cap).
I look at the salary when I review an application, but I don't use it to screen people out. If their resume looks good, but the salary is "out-the-box". I will ask them if that is the salary they are truly looking for and let them know what the starting range will approxiamately be. That way, I don't waste their time or mine setting up an interview.
Sometimes candidates enter a dollar amount without giving it true consideration or doing research. Sometimes they base it on their last job, which may or may not be the same work.
The "experts" will tell you to leave the field blank. A long time ago, we used to write "negotiable" in the field, but today's fancy programs usually require a number or be left blank.
True, Vi, benefits are definitely important. For example when I took this job from private sector to public, it was almost a 10K pay decrease, however, my commute is now within walking distance instead of 25 miles one way (2 hours to go 25 miles), a 37.5 hour work week, instead of 40 - and the much more freedom to pursue the things I love in my job. I've made up the money since then and still have the excellent "perks."
Accepting a lower salary is a decision for the candidate to make, so they need to figure which is more important the money or job. A recruiter is not going to refuse to give someone a job, because the person is willing to accept less money, then they were asking for. (Depending on the $$ it may raise a red flag, but for the most part the decision is the candidate's).
Also, unfortunately, not all companies have a true HR department or are versed in "above board" hiring practices. It all depends on the company and who is doing the recruiting. (That's an entire subject itself...LOL...)
Hopefully I've scratched the surface of this awesome question, but I didn't want to make my post too long! :-)