Mostly ease of management. I have a server on which I run multiple applications. If I don’t need something anymore, I can just purge the container. The directories used by that container are clearly listed in my docker-compose file so I never have to wonder whether I purged everything that is now unnecessary.
It also makes it very easy to deploy a new service.
Unfortunately not all features are always available on those ROMs.
One example is GrapheneOS and Google Wallet which I cannot use due to GrapheneOS not being considered “certified software” by the app and therefore not being trusted.