The only gripe I seem to have is that the options for which direction to sync are not entirely clear. It seems that you can set both of the options:
"Always update Gmail..." (I assume this makes tbird the master), and
"Enable fetch only mode..." (I assume this makes Gmail the master).
Those two preferences are not directly related, but I now see how they seem that way and even I was confused for a second just reading them next to each other like that

. The rest of the first preference explains a little bit more: "Always update Gmail when a contact is updated in Gmail and Thunderbird". That single preference decides which is the master if something changes locally in Thunderbird and remotely in Gmail.
The fetch-only preference was a recent addition created after it was suggested
here. If you check this then gContactSync will only get updates from Google and never send any changes to Google. If this is check then the first preference you mentioned is ignored. Which means that it should at least appear disabled in the Preferences dialog.
I use Tbird on two computers (one at work and one at home) which may (depending on my understanding) make things tricky with synchronizing contacts. Say both have the option set to "Always update Gmail..." (as per default).
Say I add a new contact using Tbird on my home computer at night, and then go to work the next day hoping to access that contact. When I log in, will the sync with the work computer wipe out that contact (since Tbird is set to be the master and it doesn't originally have the contact)?
Synchronization should work well with two distinct Thunderbird profiles. So if you add a contact at home and synchronize then it will be added to Gmail (you can log in and confirm to be certain).
Once you arrive at work and synchronize that contact should be added to your address book automatically.
The only time that master preference (always update Gmail...) is used is in the case of conflicting changes in Gmail and Thunderbird. For example, if you edit a contact in Thunderbird and, without synchronizing, make a different change in Gmail then gContactSync has to pick which contact to save and overwrite the other.
Some suggestions (which may or may not save my confusion):
1) Having the preferences stated a bit more explicitly eg: "set Gmail to be master"/"set Tbird to be master", or
2) Having TWO sync buttons in the toolbar allowing manual synchronisation in one or other direction (say "fetch" and "send"), or
3) Allowing syncronisation to update whichever list is the LEAST recent.
1) Let me know if my answers don't explain this well enough. The first preference handles both cases.
2) I am considering something like this in version 0.3, but I'm not sure if it is necessary yet. What do you think?
3) This is what gContactSync does by default unless you check the fetch-only checkbox in which case Thunderbird is always updated and Gmail never is.
Please let me know if you still aren't sure about the preferences.
Regards,
Josh
EDIT:
I forgot to mention that 0.3, which I am starting today, will have some major changes and I'll keep this in mind when redesigning preferences. Each directory will hopefully have a few of its own preferences which may help split things up a bit. I also hope to add a New Account wizard that makes adding accounts easier.