You write configuration, initialize the directory with terraform init, then preview and make each change with terraform plan and terraform apply.
Write configuration in .tf files that describe the resources you want.
Initialize the directory with terraform init, which downloads the providers and modules it needs.
Plan with terraform plan, which compares the configuration with the current state and previews the changes.
Apply with terraform apply, which creates, updates or destroys resources to match and records the result in state.
Every later change goes through write, plan and apply again. When an environment is no longer needed, terraform destroy removes everything the configuration manages.
terraform init
terraform plan
terraform apply
terraform destroy # when cleanup is needed
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.