I'd say that leverage in negotiations sort of comes into play, but consider that I may have hired a person for 100K and I was told that I can hire someone else, but I only get 80K this time because that's all that can be justified with the number of accounts we have. So, I hire someone at 80K.
If Ms. 100K and Mr. 80K start talking, there are all sorts of possible problems, but in the end, though, I was only given 80K to hire someone. If you didn't accept that, I can't hire you. Would you prefer to have not gotten the job? That will depend on if you were in demand, I suppose, but I'd usually say that if 80K was acceptable to you, then you're not losing out.
That's why you probably shouldn't talk to other people. You might well be convinced you should be making 100K, but if you'd insisted on that number, I couldn't hire you, so you'd probably not have a job. Also, Ms. 100K may have been hired while the company was doing very well and was able to be generous. Instead of dropping her salary or laying her off in a slump, we kept her on. We can't afford 100K people anymore, but we want to be fair to her and maintain our word when it comes to what she makes. Should we have instead laid her off or knocked 20K off her salary so that you could feel better about yours?
You need to find a number that works for you, and you need to insist on it. If you get it, you should be able to do everything you wanted to do with that salary. Don't worry what other people make, someone is always going to make more than you. Understand what you are happy with and get that. If you need to adjust, then it should come from your own needs and not a comparison between you and someone else except in the most basic of fashion (such as salary research for your job description) to get a basis for what is reasonable.
At a previous workplace the opposite happened. They tried to hire an inexperienced new guy for a secret, higher salary than the experienced veterans were making, because they needed more capacity quickly. The experienced people found out, it destroyed their trust in the company, and most of them left within days. They had been working knowingly under their value because they knew and trusted the company, and liked the work. Squandering trust can be very expensive.
And that's what irks me most about your post. It's a bit arrogant for the salary-setting entity to believe they are smarter than the people working for them, that they know best, and that it is in everyone elses best interest not to know what's going on. The implication is not to trust people.
Me, I'd rather work with people I trust. I've worked at a really good place that was very open about money and why we weren't making that much of it. I still do contract work for these guys and I know exactly why they pay me what they do. They have a very good set of very skilled developers who are all knowingly making less than they might make elsewhere, but simply happy where they are. The access to all this information doesn't make them unhappy. It makes them smart, informed people making the correct work/life balance decisions for themselves. I love working with them.
In your particular example I'd much rather you'd come out and say "normally we'd pay 100.000 but we're very low on budget so we have only 80.000", to which I could then reply "I can accept 80k for a 1 year trial period by which time we can both assume either your strategy and my work will have brought the company profits up so that you can start paying me 100k, or I am free to pursue other options". I'm sure an arrangment like that open and above board makes everyone happier.
Most people are terrible at salary negotiation. Based on various studies with some degree of variance, overall they suggest about 55% of men do not negotiate their wages, and about 70% of women do not negotiate their wages. That is NO NEGOTIATION AT ALL.
Bear in mind that a lot of people are pretty desperate to get a paycheck. You can pretty easily take yourself out of the running for a lot of jobs by trying to negotiate salary (or by doing so clumsily) particularly when there are multiple qualified candidates for the job. Not saying that more folks shouldn't negotiate their salary but many times they are not negotiating from a position of strength. It's one thing if you have a nice pad of savings and can afford to say no to an offer. Not everyone is so lucky. I've been in both circumstances myself at different times so I understand how hard it can be to negotiate when not getting the job at all is a worse outcome than getting paid a sub-optimal amount.
That said I agree completely with what you said. Negotiation is a very valuable life skill. The sooner you get good at it the better.
This is the wrong way to approach the problem of being (reasonably) desperate to get a paycheck. You are either worth the higher salary or you are not. Being worth the higher salary means (by definition) that given time you *will* be able to find a job that pays that much. This is a negotiation position you can take up. If you don't feel too aggressive, agree to an "evaluation period" (say 6 months) for the lowball offer after which they will either bump you to a decent salary or you will find another job that will pay better. You will have been looking for 6 months by that point. If you are feeling aggressive just say up-front that they either offer you a decent salary or they'll end up with someone who's not very good ando/or not very confident, and they'll have missed out on a great new person in their team. You might find them suddenly very interested in you, because now you've expressed openness and confidence.
If *you* don't believe in yourself, why would you expect them to?
Now, if you're actually desperate for a paycheck, to the point of not having a roof over your head, then you just don't have negotiation room. Just negotiate for the actual job, and use the job as a springboard for your future. You still don't accept a job that doesn't actually pay enough to get you out of the danger zone though, because that just ties you down without providing a solution. As the saying goes, if you find yourself in a hole, stop digging.
Wasn't there something about a PASCAL programmer knowing the value of everything and the Wirth of nothing?