Chef over Ansible (sometimes!!)
Long story short the reason is this..
I use pretty much both for routine automation during the course of my work. What drives me to using Chef, especially in the context of vSphere is the ability to use customisation out of the box. I don’t need to go into the underlying guts of the python code to handle customisation specs with Ansible. With Chef, once I install the required knife vsphere knife plugin, its just a matter of configuring knife.rb with the required parameters to connect to vSphere, provision the required VMs and run the customisations scripts on the target VMs.
The README file in the git repo is quite detailed and helped me get off the ground quickly. The bottleneck I do face now is the limitation of number of clone operations per host in vSphere. The link below does suggest an unsupported way. Use it at your own risk.