My experience (over the last year) is that they're so limited as to be pretty useless. They don't even do what they're advertised to do, ie give you a reliable way to reproduce a build, and they're inflexible for my idea of real-world work with Docker. Where they're good is in giving everyone a point of reference.
I had a discussion with the maintainers last year about this:
https://groups.google.com/forum/#!topic/docker-user/3pcVXU4h...
I have a problem with most CM tools in that they're for moving target systems, not immutable ones. Ansible is the closest, but our experience has been that development on it is slow relative to the tool we use (see below). It's saved us a ton of money.
I blog on this and similar topics here:
http://zwischenzugs.wordpress.com/
The "tool for building and maintaining complex Docker deployments" is here:
http://ianmiell.github.io/shutit/ https://github.com/ianmiell/shutit
I also talk about this here: