What is the behaviour of CRM API: insertRecord method with duplicateCheck=2

What is the behaviour of CRM API: insertRecord method with duplicateCheck=2

Using the CRM API, I can add a record with method "insertRecord" passing a parameter "duplicateCheck=2" and ZOHO will either insert the record (if one with the same email address doesn't already exist), or update a record (if one with the same email address is found).

Questions in case a record is found and will be updated:
1 - Does ZOHO keep track/record/history of previous values for those fields updated?
2 - Does ZOHO flag anywhere in the system that the record has been updated through the API?
3 - Is there a way to control which fields are updated and which ones are not?
4 - What happens to fields that, at the moment of the insert, already have content in ZOHO but are blank in the new record being sent?
5 - What happens to fields that, at the moment of the insert, already have content in ZOHO but are NOT in the new record being sent?

Thanks,
Alex