The only problem is Cloudformation is strictly AWS resources, so unless you're absolutely 100% sure you'll never need anything outside of AWS ecosystem, I always recommend using TF.
If you're invested, you can use extensions [0] which seem like they're more well-defined. It sounds like this is what APN partners like Datadog use to implement 3rd party resources.
This is true, of course, but you can have a Terraform CloudFormation resource, too, and pass data from other resources back and forth. Since when we don't like using the best tool for the job?!
For companies the likelihood of not needing stuff outside of AWS is relatively low. Unless you're okay with managing other applications by hand, which is probably the wrong attitude.
[0] https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGui...