This will then often lead to the intervening party trying to broker a "compromise" between the two parties where the emphasis is more on how to resolve the dispute without anyone getting their feelings hurt.
As long as the argument hasn't gotten to a point where you think someone is likely to get punched or it has got personal or so far off track that it doesn't look like it will ever end I think it's usually best to just leave people to argue it out.
In the end even the "winning" party is now likely to be more mindful of the potential pitfalls of their idea when it is being implemented.
If you are working with other people I think you should aim to have an argument a day.
Sure, some of their Apps could get some design overhaul here nad there, but they do what they're supposed to do very well.
Because of that success and the technical background (Rails) they build (in my view) a huge credibility, at least for me.
Sure, a company where everyone is all chummy and nobody disagrees once a decision has been made, that sort of place might be successful in the short run. They can probably iterate more rapidly when no one argues about a feature. The might be able to implement more features in a shorter time when no one argues about implementation. Ultimately, though, I would bet they end up with an inefficient product that no one wants.
Actually, this reminds me of how Penn and Teller describe their relationship: http://www.youtube.com/watch?v=QYcabRJRG54
There are a lot of employees that love to argue and, even once it is clear they are wrong, they will still argue for their point and refuse to back down.
This emerges even more around design decision when there is no clear right and wrong and two parties are battling for their ideas. Sadly, it is often said that those two argue the longest are the winners, regardless of who is right.
I would say passion and the ability to challenge everyone's ideas is extremely important, but you must combine it with humility and the ability to back down when you know you are wrong (or at least more wrong than the other).
Incidentally, this is a good trait (IMO) to instill in your kids. I love arguing with mine.
And at the same time, how less than stellar it worked out elsewhere both for myself and others who fell under the spark-on-the-first-day column.