The biggest merge problems I ever had were at a site where we had locking version control (SCCS, to be precise - this was a while ago).
What would happen is that person A would be working on something, and would have the file checked out. Person B would get an urgent request to fix something for a customer, and would have to change that file.
This played out in several ways. Sometimes, A would check in, B would make a change, and A would then continue from A's working copy and wipe out B's change. Sometimes, B would get started on a copied-out copy, since time was of the essence and changes could take a while to get right, and overwrite A's changes. Sometimes B's changes would interact with A's changes, and some of A's changes would be mangled or lost. There was no warning in the latter case.
In a merging VCS, A and B make their changes, and the system makes sure nothing is lost. In the last case, the VCS notes the conflict, so it won't be missed.
There was also a problem with doing a larger change to a program file, as it could be interrupted by necessary fixes, making it much harder to finish.
I've never seen a production environment where it was possible to guarantee that two people wouldn't have to work on the same file at about the same time. Merging VCSs handle that situation well. Locking VCSs don't.