If you have a single volume within an aggregate, IMHO it makes no difference at all whether you set guarantee to volume, or to none. With multiple volumes hosted within the same aggregate the story is slightly different. Some people like thin provisioning (like myself) because it moves free space monitoring & management from a volume level to an aggregate level (imagine e.g. 1.2TB aggregate with 10x 1TB thinly provisioned volumes).
One more interesting thing though:
On the VMware side you may see how much space is left within an aggregate with a thinly provisioned NFS datastores. Say containing aggregate has 500GB free space & NFS volume has nominal size of 1TB - you will see only 500GB of free space in this datastore.
I generally do "volume" unless you're doing full on thin provisioning.
Reasons to do volume are....
hard reserves space out of the aggregate
is the default when using the VMware/NFS wizard in System Manager as well as provisioning via RCU (I highly recommend using one of those options as you get various other best practice options by using them)
any space savings due to thin provisioning and deduplication are returned to the volume
If you are doing full-on thin provisioning (which is fine...just make sure absolutely sure you understand it and have VERY good alerting around aggregate free space), you can set to "none" which will return all space savings back to the aggregate.