I think it's neither in the interest of the business nor the individual.
For the individual, I think it's largely a cultural thing in the US. Income is treated as a matter of pride and a measure of success so people with lower incomes might feel embarrassed or stressed. Meanwhile, people with higher incomes might be shamed or criticized for accepting that amount while a company is in tough times or while other employees make so much less. Where I grew up, it's one of those questions that is very rude to ask and not only do companies not usually share that information, but it's also rare for friends and family to share that information and considered rude to ask.
For the company, as you said, it puts a lot of burden on them to explain things. It's a major advantage and reality that a company can pay people different amounts for the same work. They might pay somebody more because that person was more effective in initial negotiations. They might pay somebody less because at the time of hiring the company didn't have enough money. They might pay somebody more because at the time of hiring there was an urgent shortage of staff. Maybe one employee threatens to leave and gets a raise in exchange for staying; if salaries were public that raise would now have to be given to all employees of the same profession who could repeat the same tactic? Additionally, in order to reveal their reasoning for paying an employee more or less they may have to reveal details that that employee doesn't want shared. In terms of finances, it seems it would likely almost exclusively result in people asking to be paid more. Therefore, it's likely to cause the company to have more expenses without an increase in productivity.
Also, it puts people's attention in the wrong spot. Not making the money visible is one way to prevent people from worrying too much about their pay and therefore to have them just focus more on doing a good job. Employees worrying about pay is optimization against the health of the company. Once all of that information is visible, people will start putting a lot more focus on how to make the most money or the most money for the least work...the two worst case scenarios for the business itself.
One of the biggest problems in large organizations is that it's hard to get anything done because too many eyes are required. The more information that is out there for everybody to see, the harder it is to get anything done and the more likely it is that things will have to be undone or changed. As you mention in your question, it's likely that this change would result in a lot of people coming in with questions, offers, complaints... each question/offer/complaint uses up the time and resources of the person complaining and the person listening and may require some investigation to see why something is the way it is or make corrective action. For example, lets say there is a complaint filer, Alice, and her boss or HR rep, Bob, who handles the complaint and they each make $50/hr. Alice spends 30 minutes filing the complaint (looking at salaries, seeing discrepancy, finding who to contact, formulating her case and sending it over). Bob spends 30 minutes investigating (reading the complaint, pulling up the records in question and finding out why the discrepancy exists, possibly investigating options for resolution). Then Alice and Bob meet for 30 minutes to argue a bit over it and negotiate a solution. That is 1 hour of each of their time, therefore that one complaint cost the company $200 of time regardless of what the outcome was. If there was a corrective action taken, you can then add both the actual cost (i.e. the amount of the raise they were given) and the cost of the time Bob spends contacting people and shuffling things around to make that change. For a large corporation, this overhead could be huge and is a distraction from actual work. Making the salaries hidden makes it likely that only people who are truly upset with their salary would do this, making it public makes it so that a lot more people would see discrepancies that they don't know the reason for, think this entitles them to that rate and complain.