The problems seem to originate from two things; first people often judge their own 'worth' by comparing their work output to others, and two, people who don't understand the details of a particular job seem to think it is much easier to do than it really is.
So in the first case person A, who thinks highly of themselves, and very poorly of a co-worker person B, finds that the co-worker is getting more compensation than they are. This triggers a management issue where someone has to explain to person A the discrepancy. There are a number of real explanations (like Person B is actually doing a harder job and/or providing a more valuable role) that Person A, may be unable to accept.
Or person B may have a role that is significantly different, like they are in marketing (vs engineering) or finance or analysis. Can you compare salaries for someone who cranks out a thousand lines of code a day with someone who can tell you precisely which of those lines of code are making the company money and which ones aren't? Both are great skills, that latter is harder to find, you might pay them a bit more. But explain that to the person writing code? Not easy.
When I was at Google it was proposed a number of times (by engineers) that everyone's salary should just be part of the info available. They didn't do that, but I could see someone like the 37Signals folks or some startup doing it from the start.
I've not worked at a company where that was the case so I can only speculate on what it might be like. For folks who were internally OK with their own perception of self worth it wouldn't matter, for the sociopaths it would give them a new game to 'win', for folks who were not OK with their own self worth it would be devastating.
I do know that individuals can change this, so when your out socially talk freely about specific amounts of money you earn, or save, or spend. But be forewarned that it will make them uncomfortable. But if you can get a community built up where its considered the 'norm' then converting your workplace to use it (assuming they have enough of that community employed) can work.
Everyone knows, for example, that a software consultant level 3 has a pay rate of $XX.
The biggest negative to that type of system, that I've experienced, is that it's hard to incentivize great employees when they are already at their max pay range. For example, you can't give them more money for great work. Also, since everyone knows what everyone else is making, it tends to sometimes create resentment if you think someone else, with the same title or pay scale, is doing sub-standard work compared to you. This generally makes the person less likely to work as hard as before or contemplate other opportunities.
On the positive side though, you don't generally have as many arguments over wages and definitely no surprises when you find out someone's salary. Plus, everyone is well aware of the rungs of progression in their current position, so you tend to know when promotions are warranted and what you'll get as a result which takes a lot of the "I hope they recognize how hard I work" or "I hope I can get $XX more dollars after my next review" out of improving your career. You know exactly what that next rung provides you, and so does everyone else. Therefore, it removes a lot of stress of uncertainty but also possibly diminishes some of the more "go getter" type spirit since you know exactly what it takes to progress, so why go above and beyond?
Here's an example of what I'm talking about, in Ontario (Canada) all public sector salaries > 100K are published publicly. The < 100K public sector salaries are basically public too, just not published on a website :)
I think the same thing happens in all work places, but if salaries and titles are more open ended, you never really know what you can achieve so you might stick it out longer. In this type of workplace, you explicitly know, and you explicitly know when you have no where left to progress so you make your career choices knowing exactly where you stand.
It's interesting that the engineers wanted salary transparency, that's been my experience as well. I've always thought salary has more to do with perceived class of role in society opposed to value created (in most companies).
That said, I have met engineers who felt their work was 'worth more' than that of a 'marketeer.' Which is not true. But that applies in the general case and not in the specific case.
"I've always thought salary has more to do with perceived class of role in society opposed to value created (in most companies)."
Actually that hasn't been my experience. At least in the SF Bay Area salary budget was managed much as I would imagine a sports team manages their salary budget, which is to say the amount of money the company could spend on salaries was $X and the required business revenue was $Y and the required margin was %Q for everything to 'work'. If the ratio between $X and $Y wasn't there you figured out changes needed to get it into shape. Those challenges could be 'time to ship product' (an engineering problem), 'market visibility' (a marketing problem), 'sales' (a sales problem natch), or sometimes 'cost of goods' (a structural problem). You allocate your $X salary budget to 'fix' the issues.
Class and societal role really never enters the picture in those cases.
I suspect it's also a matter of company stage (I'm predominantly early stage). If I were given $1M to start a tech company, I wouldn't hire any pure marketers. I'd hire engineers who have proven that they can design products.
I think the problem I have with marketers is that it divorces product definition from product construction. In my experience the best products come from the two being as close as possible. Ideally in one person.
[*] Protip you can reply by clicking the <link> at the end of the comment before the reply timer has expired :-)
The truth is though that most of the best engineers I know are some of the worst at marketing. They can have a great idea and great execution, but they can't effectively sell people on it, and they often simply think people will automatically buy it because it works and provides a useful service. Rationally, that makes sense.
Unfortunately, that's not really how things work most of the time. If you've started a business, you should know that sales and marketing takes work; even if you have the best product, it's not useful if nobody knows about it, or if it is associated with the wrong thing. That's why marketing is valuable.
There are also examples of sucessful tech companies with little to no marketing department (Craigslist to use an old example). I don't think he same can be said of the reverse.
"... it's clear that plenty of engineers play a marketing role in addition to their role of 'shipping'."
That is an interesting statement to make. Some really great marketers that I've met started with a CS or EE degree, and some really great engineers I've met started with Economics or physics degrees. It isn't the degree that defines them, it is where (and how) they add value to the goals of the company.
In the 'way back' times there was a video format war, it was called 'betamax' vs 'vhs'. Betamax was a better engineered standard, VHS was a better marketed standard. Then there was the "OSI" vs "TCP/IP" network wars, OSI was heavily marketed, but TCP/IP was better engineered . Word vs WordPerfect, Lotus 123 vs Excel, Firewire vs USB, the road is littered with "products" and "standards" where either good marketing or good engineering determined their success or not in the market place.
Generally it seems that if you have two competitors with equivalent engineering teams, bet on the one with the better marketing. If you have two teams with equivalent marketing bet on the better engineering team. Either marketing or engineering can cover for some weakness in the other team, so yes, I value them equally.
That you don't suggests you haven't experienced really great marketing. There was a great post by Joe Kraus (Google Ventures) on this . Something to think about.
 Some (many?) would argue that OSI was over-engineered, but either way it was heavily marketed.