A shared Terraform state across dev, staging, and prod will eventually destroy something.
Workspaces: same code, separate state. Fast, but risky for complex prod.
File layouts: own directory per env. True isolation.
Verdict: workspaces for experiments, file layouts for prod.