Also, I find Docker a lot easier to work with than trying to manually maintain parity between my dev environment and production hosts. Having previous "pushed simple apps to a single box or two" I'd never go back, even for the simplest of apps.
This is partially possible in the cloud as well, yet it requires building machine images which is slow. And you end up with a provider specific solution especially if you try to integrate it very well.
But in short: It makes sense very soon if you run on bare metal (and arguably makes it more feasible option to run on bare metal) while it makes only sense much later if you're running in the cloud. I'd say you should have at least more than one team deploying more than every few days.
Overall I'd say it doesn't solve anything that was unsolved before, but it solves a common problem in a palatable way.
Our team uses CoreOS and we're slowly moving over to Mesos/Marathon. Our team also has really streamlined unit testing, integration testing and deployment. When you need to deploy an app that may need 4 or 5 nodes, and the rest of the company also is deploying microservices that need anywhere from 2 ~ 20 notes, having a system like Mesos or Kubernetes is essential.
They are big systems. They can be difficult to maintain. I've been trying to setup my own mini Kubernetes in Vagrant and have struggled quite a bit. This post really goes to show a large amount of the complexities too.
It really depends on your scale. If you start growing, investing in people to maintain a container infrastructure is pretty key.
https://www.youtube.com/watch?v=Yj5I-yOaDao
and blog on related things here:
https://medium.com/@zwischenzugs
but I do understand your skepticism - the hype is far from reality.
Putting a binary on a VM works just fine and is perfectly repeatable and scriptable already.