Aside from the myriad issues it has on its own, the easiest answer is: it doesn't scale on multiple machines and instances.
Example: I have 10 services in a compose file, and I need each service to scale independently across multiple servers. Which is easier, more reproducible, and reliable: controlling the docker compose state across many instances, or communicating with a central management service with one command to do it all for me?