- Docker images are portable. They will run anywhere there is Docker. No surprise missing system packages when deploy.
- They are isolated from the the rest of the machine. Inconsistencies between dev and prod are minimized greatly.
- Kubernetes allows you to deploy stateless, immutable images using a declarative manifest. IMO this is far superior to imperative scripts that are used in a lot of places.
- Kubernetes pods start up in seconds when they are added or restarted. Deployments for me routinely take under a minute. Compared to our EC2 deployment strategy which can easily take over half an hour to deploy a single node.
The list goes on but these are the key things for me. I would suggest checking out some videos by Kelsey Hightower is want to see more of it in action.
You could try https://kubernetes.io/docs/concepts/overview/what-is-kuberne... for now.
Kubernetes is basically a wrapper around Docker. It adds a lot of functionality but it's main job is handling the scheduling/management of Docker containers.