Besides installing the new version package there are other steps that need to be performed like running the performupgrade that will migrate your database, download new JavaScript files and package them, update the Supervisord file and maybe others.
The direct deployment requires advanced knowledge of Linux, Python, Django, Mayan, and the dependencies. Each direct deployment can deviate quite a lot from each other.
We were spending a lot of time on wild goose chases trying to diagnose issues that were ultimelty caused by user error from the direct deployment.
Using Docker takes care of installation, packaging, dependencies, upgrades, configuration, networking.
Packaging for Docker also allows for greater scalability, allows using Docker Compose as well as Kubernetes. Those two alone are worth the change in policy.