Terraform is great... until you hit one of it's many limitations, or run into a bug in a provider that really ruins your day.
Plenty of people probably never run into those problems. But if you do, it's pretty terrible.
To be fair, there isn't really anything better. Pulumi and CDK address some of the limitations by using a "real" programming language, but introduce different issues. And bugs in providers are probably unavoidable, and are partly the fault of poor APIs from cloud providers.