Everything? No really, Docker bring containers to the masses as a first class citizen of virtualization and assist in reducing time to deployment and configuration constraints by normalizing and baselining the install vector for applications. Sharing an app, part of an app, or developing for an app is made radically simply with the use of containers, and Docker acts as sugar applied to Linux containers. The available tools makes sharing containers, moving them around orchestrating deployments a breeze. Docker Swarm and Docker Compose are critical the success of leveraging Docker in a DevOps environment.
Documentation. A product of Docker's rapid growth is that the documentation is often sorely lacking or fragmented. It pays to be on the mailing list and to attend meet ups and watch all the docker videos possible because most of the helpful tidbits come from this. I'd like to see Docker improve in this area for 2017. It'll also make leveraging Docker in production more accessible to those who do not have the time to become SMEs on Docker and just need to leverage it as a tool.
Just start using it to replace small portions of your deployment at first, the parts that can accept failure, perhaps using it to manage health of systems, and as you grow more comfortable with it, you can expand it to areas that make sense. Keep in mind, Docker is NOT a magic bullet, it will NOT fix all your problems or make your bed. What it will do, is reduce time to delivery for those areas that are bottled neck by config drift or time investments. No longer do you need to worry about your database deployment, or even the configuration management tool to roll this out, you can simply make a defined container, deploy it, make any changes that you need, and redeploy those changes in a fraction of a second. Booting a VM is fractionally faster then booting a physical machine. Booting a container is orders of magnitude faster (often in the tenths of seconds).
Reducing deployment friction is the chef benefit. The advent of the Cloud allowed us to break away from physical servers and rapidly develop our products and services. Docker adds a Saturn 5 rocket to that. It allows developers to easily build very complex application on their local machines much the same way VMs did, but with a fraction of the resources VMs take because of their reduced foot print. This in turn allows sharing prebuilt "containers" with a community be it within a organization or global in a matter of seconds. Additionally, the days of configuration drift are solved because we all have a common "language" for sharing configurations regardless of the tools used to build them.