Hi Victor Ma,
creating the Hardware Snapshot inside the storage array is considered to be your backup.
you can (live) mount VMs from the hardware snapshot and (not on all arrays) restore them using Storage vMotion.
If talking of SAN / NAS datastores, you can select the datastore as content of a subclient and all VMs holding data on this datastore will be (vmware) snapshoted, then a hardware snapshot is taken and the VM snapshots are removed again.
VM snapshot life is very short in this scenario compared to a streaming backup. Therefore the removal of VM snapshots can be faster since less delta data has to be applied to the original vmdk.
later you can use AuxCopy (in case of netapp snapvault) and/or backupcopy (streaming backup) to enable your primary hardware snapshots to age.
if your doing backup 2 disk, the storage vmotion feature is also available, but might be slower due to dedup (which will reduce restore speed due to fragmentation over time).
w/ streaming backups (only) you have more flexible methods of selecting VMs to backup (like tags or comments to the VM), while intellisnap gives you the option to backup (more or less offsite) from a snapshot instead of the live data.
In terms of backup speed (on streaming backups), it might also be possible to use incremental and syntetic full (only useful on backup 2 disk) backups instead of incremental and full, to reduce the VM snapshot time.
in my expierience a backup of 150VMs can be achieved in less then 1 hour (independent of the overall size) using intellisnap. Data movement (streaming / BackupCopy) depends on the amount of changed blocks and can be a longer process.
on the other hand using intellisnap and backupcopy will add extra time to the backup process, since all (snapshot) datastores have to be mouted on a mount ESX host and all VMs (from the backup) have to be registered during the backup.
as always : it depends