Why do people use terraform, ansible, chef,...?

this may be a silly question but I have trouble understanding why people use chef, puppet, ansible, terraform.

Here's my situation:

Devops for a SaaS company, deploy dedicated SaaS instances for a customer. We're 99% in AWS today via Elastic Beanstalk and use MongoDB + some other 3rd party SaaS services. We wrote a deployment script to easily update and deploy new instances and while it's a custom script, it's pretty straightforward and portable.

Given the above and your experience, what are the reasons you move to a common framework as mentioned above?

submitted by