A full restore restores the entire VM and registers the VM in vCenter. This is usually the correct choice if the VM has been deleted and you need to restore it.
A VMK,VMDK restore allows you to restore the underlying files that makeup a VM individually. For example, assume you have a VM with a C: and D: drive each using separate VMDK files. The C: drive is the OS, and the D: drive is for data. Perhaps the D: drive become corrupt for some reason. You can stop the VM and restore just the VMDK file for the D: drive rather than the entire VM. Also, you can restore a VMDK file to another host and attach it to a new VM, etc.
We typically use the "Full" restore only in cases when the entire VM has been deleted. Otherwise we restore the VMDK files individually. The main advantage of restoring the VMDK files rather than the entire VM for our environment is that a "full" restore looks like a new VM, it has a new UID, and we have to remember to move it into the proper folder so that it gets backed up. Also this will create "shadow" instances of the VM in your Veeam jobs that won't be cleared until you run a full. Restoring individual VMDK files doesn't create this behavior since the VM keeps the same UID.