Docker Compose es como una navaja suiza para una sola máquina. Es perfecto para definir y levantar un stack en un único host.
Kubernetes es un ejército de navajas suizas para un clúster de máquinas. Resuelve problemas que no tienes en un solo host: si un servidor se cae, mueve tus contenedores a otro (auto-reparación), si tu app tiene mucho tráfico, crea más copias automáticamente (auto-escalado), gestiona el almacenamiento y la red de forma distribuida...
En resumen: k8s es para orquestar contenedores a través de múltiples servidores de forma resiliente.