In reply to mitesh.patel:
This link should answer most of your questions.
The major use of update() is calling it on the entire register model after you’ve set() the individual desired register values. That optimizes the number of write transactions to only the registers whose mirrored and desired values are different.