Terraform basic usage sequence

terraform init
Actually goes and downloads the associated Terraform provider file from Terraform registry and puts it into a working directory.
If you used modules, they are downloaded too into .terraform subdirectory
terraform plan
It is taking our terraform config (desired state) and compares to the actual state (which is state of the world) and gives output about this.
terraform apply
It is actually going to do and apply the changes from plan command. So we will have desired state to match the actual state.
terraform destroy
Destroy everything associated to this particular project.