[Serious] if I'm already happy using CloudFormation for AWS, and I don't plan on supporting AWS + another cloud, is Terraform for me? Or is it for other use-cases?
Hey there, I'm one of the creators of Terraform. Honestly, if you're happy using CloudFormation and you're sticking with AWS, just stick with CloudFormation. Terraform will be around when/if circumstances change and it'll be better than ever by that time. No rush if things are working for you.
The best time to look into something like Terraform is if you begin managing more than just AWS resources. Even so, you can choose to use CF for AWS and TF for non-AWS. Or, if you want to start taking advantage of the higher-level features Terraform is beginning to support.
At the end of the day though, I'm a big fan of working with what you're most expert with until circumstances require otherwise.
I think TF is better at post-setup execution. I haven't used CF in a while, but I remember having it run commands post-setup (outside of user data) being kind of kludgey. I also really really dig its module system; it lets you get incredibly creative. I also heavily prefer HCL over Amazon's DSL (at least what I remember of it when I used it heavily last year. Self referencing security groups were a huge pain in CF but pretty easy in TF)
the biggest win for TF (IMO) is that it doesn't lock you into any provider. It is a lot easier to design TF configs to work in cross-cloud scenarios (well, "easy") than it is to port CF over to something else (which is AWS only.