* Asynchronous mode
configures all database transactions to commit changes on the principal database
before sending the changes to the mirror.
* Synchronous mode
will send the transaction to the mirror and await acknowledgement
that the mirror had committed the transaction on its database
before committing on the principal database.
* With synchronous with automatic failover mode,
the witness comes into play.
If the witness notices any failures with the heartbeat of the principal server,
it automatically fails over the active control of the database to the mirror.
This is one of the key benefits that mirroring has over log shipping.
With this type of failover, no code change is necessary for your client applications.
The failover is transparent to the client.
Moreover, the risk of data loss is decreased with database mirroring.
Source:
Microsoft SQL 2005 Administrator's Companion,
Chapter 25 - Disaster Recovery Solutions
Part VI - High Availability
Page 824