cloudformation is awesome and it works as advertised. I have literally not seen it fail catastrophically ever since it came out. it just works.
terraform? or terrafail as it’s known. it’s a disaster. it cannot keep track of the resources it creates. when in trouble, it throws its hands up in the air and you’re on your own. do yourself a favor and don’t learn the hard way - in production - that terraform cannot take your infra from point A to point B (and rollback in case something went wrong).