My sales pitch for Docker. This may in no way apply to you.
I typically, have (say) the current version of Moodle, the future version and possibly other versions all running side by side on the same box. Quite possibly with different versions and configurations of server software. If someone says, "what happens if we try PHP 8.3?" I can change the config in the php container (often literally just changing the version number) and rebuild the thing. 30 seconds and it's running. I can also share my config files in GitHub and somebody else (or me on a different PC/Mac) is guaranteed to have the identical setup.
You may not care about any of this - and, if you don't, it's just a layer of complexity that you don't need.
I typically, have (say) the current version of Moodle, the future version and possibly other versions all running side by side on the same box. Quite possibly with different versions and configurations of server software. If someone says, "what happens if we try PHP 8.3?" I can change the config in the php container (often literally just changing the version number) and rebuild the thing. 30 seconds and it's running. I can also share my config files in GitHub and somebody else (or me on a different PC/Mac) is guaranteed to have the identical setup.
You may not care about any of this - and, if you don't, it's just a layer of complexity that you don't need.