Suppose a startup runs the same web app in dev, staging, and production. Without Terraform, an engineer clicks through three sets of VPCs, subnets, security groups, RDS databases, and EC2 instances, and the three environments slowly drift apart. With Terraform, the whole stack lives in a few .tf files, and a variable switches the environment name and instance size.
To launch a fresh staging environment, the engineer runs terraform workspace select staging, then terraform plan to preview, then terraform apply. In a couple of minutes the entire environment exists and is byte-for-byte identical in shape to production. To save money overnight, terraform destroy removes it, and the same apply rebuilds it tomorrow.
Reusable pieces are packaged as modules. A team might publish a vpc module and a database module, then every project consumes them with a few lines, so a network change made once propagates everywhere it is used. This is how companies manage thousands of resources without losing track of any of them.