Hola, hallamos la solución a tu pregunta, continúa leyendo y la encontrarás un poco más abajo.
Solución:
docker-compose.yml es para la herramienta docker-compose que es para aplicaciones docker de múltiples contenedores en un solo motor docker.
se llama con
docker-compose up
docker-stack.yml es para la herramienta docker swarm. (para orquestación y programación).
se llama con
docker stack
Para agregar a la respuesta de Gabbax0r:
Docker Swarm era un componente independiente que se usaba para agrupar los motores de Docker como uno solo.
A partir de Docker 1.12, el “Swarm” independiente se integró dentro del motor de Docker (lea el preámbulo en esta página), y Swarm es (o será) un legado.
Para responder a su pregunta original, son solo nombres diferentes para casos diferentes, pero ambos tienen el mismo propósito.
Para responder a su pregunta de comentario, use docker-compose cuando tenga que orquestar una aplicación de varios contenedores en un solo nodo; Si tiene que preocuparse por los nodos múltiples y el equilibrio de carga y todas estas cosas avanzadas, es mejor que vaya con Swarm.
Al final de la post puedes encontrar las referencias de otros administradores, tú igualmente puedes insertar el tuyo si te apetece.