Pulumi at 5 – All Roads Lead Back to Infrastructure as Code
pulumi.com
pulumi.com
The main difference to me is that Terraform explicitly doesn't want a Turing-complete language for the predictability of outcomes, and Pulumi wants Turing-completeness for expressiveness.
Both approaches seem reasonable to me. I like knowing that Terraform can't create infinite loops, but those constraints can be annoyingly restrictive. Pulumi gives me a familiar environment and an expressive language, with the risk that I could end up trying to create infinite EC2 instances.