The cost of not using Infrastructure as Code compounds daily. Every manually created resource is a piece of tribal knowledge locked in one person's head. When that person leaves, gets sick, or simply forgets what they did three months ago, you are left reverse-engineering your own infrastructure.
Terraform solves this by declaring your infrastructure in .tf files that live alongside your application code. Every VPC, subnet, security group, RDS instance, and S3 bucket is defined explicitly. Changes go through pull requests, get reviewed, and are applied automatically. You get a complete audit trail for free.
The common objection is that Terraform is overkill for a small team. It is not. A startup with two developers and a handful of AWS resources benefits enormously from Terraform because it eliminates the "I don't know how this was configured" problem entirely. The initial setup takes a day or two. The time saved over the next year is measured in weeks.
We have seen startups hit Series A with infrastructure that nobody understands. Investors ask about disaster recovery and the team has no answer because nothing is documented or reproducible. Terraform is your documentation. Run terraform plan and you see exactly what exists and what will change.