Collaboration should be a non issue, the few people who manage the infrastructure should agree on the work and plan together.
Unlike software code that can be merged later at no risk (a merge conflict at worst), infrastructure does not lend itself to improvising and experimenting on the fly (try to accidentally change your VPC or delete your databases and see how the company goes).
Terraform is something that really highlights when there are multiple people/groups in organization trying to steer the ship in a different direction.
In my opinion ansible/salt do a much better job for often changed resources like instances or services, because it doesn't need to maintain states, it can lookup and match existing resources (mostly by tags). Terraform is better for fixed resources like VPC/networking.