A sync conflict occurs when your local copy of a file has changed and so has the server's, so bringing yourself up to date requires a decision about which version wins.
It is related to a merge conflict but not the same thing. A merge conflict arises when combining two branches. A sync conflict arises in ordinary day-to-day work on one line of development, usually because someone edited a file you also have open.
The only rule that matters is that the system must never silently resolve it. Overwriting uncommitted local work to make a sync succeed is the single worst thing source control can do, because the lost work was never recorded anywhere and is therefore unrecoverable. USourceControl's sync will not overwrite local changes; it surfaces the conflict and asks.
For text files, resolution is usually a straightforward merge. For binary files there is no combining, so the answer is prevention: lock before editing, and the second person never starts. A sync conflict on a Blueprint means the locking habit has already broken down somewhere upstream.