How does Google Contacts sync works? I want to know the process of syncing contacts between Android Contacts and Google Contacts.
The direction of sync, effect of updating contacts etc.
The way Google syncs contacts between Android devices and Google Contacts is through their Contact APIs.

Changing a contact within Google Contacts will push the change (when an account sync occurs) to the Device. 

The same happens when you change or delete a contact on the device. It will trigger a sync with the Google Contacts and update, or delete the contact. 

The contacts are tied to your account, so if you have multiple accounts on the device, and you sync Account A and Account B with Contacts, changes to a contact on Account A will only affect the contact tied to Account A. If you have the same contact in Account B, that contact will remained unchanged. So if you change the phone number in Account A, that contact will now have 2 phone numbers. The number from Account A, and the number from Account B.

You can also have contacts on the device that are not tied to a Google Account. These are usually saved directly on the device, or on the SIM card. They are not sync'd to Google Contacts. Changes made in Google Contacts will not affect these contacts, nor will changing the contact on the device affect Google Contact information.