You (and the article) are ignoring smaller companies. In those, you often have the salary negotiations with the owner, or a partner. Your salary comes (effectively) out of their own pocket, and recruiting you is quite possibly a significant and risky investment for the entire company.
In these sorts of situations, negotiation is much harder on a personal level, since the company is not a faceless entity. The company does have a face, that's the face you have to look into when you state your salary request.
On the other hand, it's also harder to accept being underpaid, because if you don't get paid what you're worth, you know the extra profits will go (almost) directly into the pocket of a person you will see daily at work.