The way I see it, when you're comparing tools for container operations you need to consider a few basic things (among many others!):
In the Mesos ecosystem, Mesos acts as the kernel that pools all of the resources of a large number of machines together as if they're one machine. This then allows other projects, such as Marathon or Aurora, to launch workloads on the underlying Mesos cluster. Then when it comes to something like service discovery within the cluster, you can take a look at mesos-dns, Consul-Mesos, etc. All of this follows the Unix philosophy of "a tool should do one thing and do it well", something I'm a huge fan of. It allows you to pick components you feel comfortable with (or write your own!) and assemble the stack that way.
DC/OS aims to shrink-wrap all of these into one installable package, which you may or may not be a fan of depending on your goals and personal preference.
Kubernetes, on the other hand, attempts to tackle all three in one project, similar to DC/OS. The thing with Kubernetes though is that I believe the folks at Google have focused first on the developer APIs to make that a great experience, and are now playing catch-up a bit on the enterprise features and scalability of the platform. In the latest release (1.3 as of my post here) they seem to be doing a great job.