I greatly prefer the BOSH model: "give me a manifest and I will make the world look like it".
Documents are easily versionable. Commands aren't.
Documents narrow scope and can be more easily made idempotent as an automatic guarantee. Commands require us to remember to check the state ourselves, manually, before doing something.
That said, Terraform has a significantly different low-level model. BOSH looks at the size of the problem and imposes non-negotiable primitives to scope that complexity. Terraform is more ambitious. I suspect Terraform will be easier to adopt incrementally, but harder to manage on a per-unit-of-state basis.
[0] Loosely related: http://chester.id.au/2012/06/27/a-not-sobrief-aside-on-reign...