It's really a very complex thing. In my experience, both cooperation and competition can produce important advances when used properly, but if used improperly, they can effectively waste time and money, and generate no small amount of ill will. There are many points about what is proper and improper. The major one at issue in my experience there was when each was appropriate. I generally feel that in the planning phase debate/argument is acceptable, the earlier in it the better. Some arguments can probably be made for early parts of the implementation phase, but when it's months in and now days or hours before the deadline is simply too late for debate to begin. The person in question would only raise objections at that eleventh-hour.
The objection raised was invariably that we were doing things differently, and it seemed that no advance was worth the change, so, by arguing more of the usual, that person was guaranteed to win. The resulting overrun and/or failure was simply seen as proof of the wisdom of staying with the tried and true.
The mood among my non-managerial coworkers definitely changed once that person quit. Our manger hated that we never sat down in a conference room and formally debated things after that point (to his view, we weren't debating at all) but it really wasn't necessary. Most of us were very interested in what was happening in our industry and how we could improve by using what had become available. In the computing field, there was a great deal of this, too, but it also meant change was regularly forced. This was also the most common reason for the failure after those objections - they'd demand we do things exactly as they had been for years but the software no longer worked that way so it wasn't possible (although that fact was never a strong enough counter-argument.)