Terraform as a Server Provisioning I can understand. What I don't understand is: why would you use an Ansible script for server configuration rather than have a Template Engine (e.g. Packer) with a readymade image?
Ansible is awesome because all it requires is a working ssh connection to a fleet of instances with python installed, and that's it. You don't need to worry about anything. Just write your playbooks, run them when needed, and go on with your lives. No need to install fancy software or run special OS imagens. You can't beat that.
Just from personal experience, Ansible is relatively simple to use, and requires minimal setup. I think some of the other alternatives might require a larger up front investment in time and capital.