But yeah, in general, any kind of heterogenous deployment is going to be more of a hassle than something totally self-contained.
But only for the initial deployment. At least in my experience, heterogeneous deployment is a lot easier to maintain, because there's fewer dependencies all around. Well, good heterogeneous deployment of course; an ad hoc variety of deployments is no fun.
This might not be true for a very small user, for whom everything seems ad hoc because they do so few installations and never become familiar with any particular process. But that same user probably is less attached to a framework and to integration than a larger user might be, so some of the downsides to heterogeneous environments aren't as much of an issue.