Those questions depend on your infrastructure and your retention and recovery policies.
VCB is used when you ahve an external system backing up your virtual machines
VDR can backup to a share without involving an external system (for example direct backup to a NAs)
Personally I would never implement VDR or VCB as the sole means of backups for an environment unless you can restore the entire server from backup without losing data (ie, webserver).
If you are running anything with a database, Active directory, or exchange you will most likely want either Operating level builtin backups happening or something with a backup Agent to do file and folder backups.
Remember that image levels do not truncate logs or take system states of active directory so you need something to do that for you.
VDR will allow you to recover individual files so if you run ntbackup (and not as easily, Windows Server Backup in Windows 2008) then you could just image your servers, keep as many copies as you need and if you needed to restore the system state for instance, you could just recover the system state file out of the particular image level backup.
is a backup product
require vSphere and a valid license for VDR
works with a GUI (integrated in vCenter)
works in a virtual appliance
is only a B2D solution and cannot (in a simple way) be integrated in other program
can save data to vmdk or NAS share (also CIFS share)
backup are at image level (but restore can be at file level)
first backup is full, the other are incremental
it can do data deduplication
is a backup framework
can work on vSphere but also on VI 3.x
it (usual) require scripting and works in CLI
it require a Windows Server that act as a "proxy"
does not directly support B2T but can be integrated with other backup program
for image level backup it require a stage area
backup are at image level or file level (in this case only for Windows guest)
image level backup are only full
it cannot do data deduplication and compression, but can save the image in "compact mode"