Terraform turns infrastructure intent into declarative configuration files. You describe what should exist, not how to create it. On each run, Terraform reads the configuration, compares it against the recorded state of the world, and produces a precise change plan. This separation between intent and execution is what makes Terraform both powerful for automation and safer for review.
That model depends on three things working well together. Providers that translate Terraform's resource model into real API calls, state that tracks what Terraform already manages, and a disciplined workflow where every change passes through plan before it touches live infrastructure.