I do not agree with this. The company most definitely has a budget in mind for the position, and they should be open about what they are prepared to pay a candidate. Sure they can give a salary range to allow for the difference in "experience and skills".
The bottom line is that if a company is advertising a position, then:
1) they have a particular range of "experience and skills" in my mind that the candidate should have and
2) they have a particular budget range in mind for a candidate they would find acceptable
Why disclose the one range and not the other? That's really just an incomplete advert, and, imho, should not be allowed here.