Synthetic fulls are generated from backups that are done via the WMware integration. When a Full backup is ran, it will copy the entire VMDK and deduplicate it inline during the backup. When the next job is ran, it is usually an incremental or a differential. If Change Block Tracking and Ignore Un-allocated Sectors are enabled, the backup will only gather the blocks of data that has changed on the VMDK. This will make for very short backup times. After the the job has finished backing up the data, it will line up the existing data and the new data to form a synthetic full. This means that rather than having to restore an entire chain of jobs, you will just be able to restore the VMDK as it was at the time of the latest backup. This also allows us to browse and restore files from the backup by mounting the VMDK internally.
There are some impacts to Synthetic fulls however, primarily in replication. Due to the backups being treated as fulls, it will attempt to transfer the whole of the job over. So if you have a VMDK that is 500GB, It will have to transfer 500GB for every job being replicated for that client, regardless if the backed up amount was smaller.