Thank you for the polite response. I did get a bit carried away in my post, so allow me to clarify.
The basic principle I'm approaching here is that you should design your environment for simplicity of maintenance. Keeping your machines separate makes maintenance easier, it makes disaster recovery easier, it makes documentation easier, it makes upgrades easier, and it makes downgrades easier. The gains just keep on going.
When I managed hundreds of separate machines - or even when I manage only three or four machines - it became very advantageous to have each one isolated from the others. If I have to update a shared component to gain a feature, I know only my one application is going to be affected. If there's a security vulnerability in one of them, and I designed their security correctly, only that one machine is exposed.
It's quite true that, in some cases, you sacrifice some performance. In my experience, from doing this repeatedly over the past few decades, this performance hit is generally negligible. On the other hand, there are surprising gains you can get from keeping your applications separate.
Of course, if you're just a home user or doing this as a hobby, none of the benefits I'm describing make much of a difference.