If I understand it correctly, synchronize should compare changes in the current workspace, changes in your local repository and changes in the remote repository and show in a file list view.
1) what files (in changesets) would change in your workspace if you pulled and updated (incoming)
2) what files (in changesets) would you send to the remote repository if you committed and pushed (outgoing)
3) and what files are changed in your workspace AND in an incoming changeset (conflict)
The problem in the current plugin is that it seems to be ignoring the branch you are currently working on so it seems to be comparing what is in your workspace against all changes in all branches (or maybe it is just comparing against default, not sure which yet).
The result is that you see incoming changes that seem to bear no relationship to your workspace as they are incoming for another branch.
We are working in a multi-named branch environment where we have a number of named release branches (maybe 8 active and about 10 other older ones). The results of a synchronize are not very useful as it lists many unrelated changes from other branches.