as to "why is it necessary" i think if you mess around with trying to run some services on a VPS it can be a real nightmare of system dependencies... email services being a notable one that can lead you to breaking your system trying to get it to work... some web server runtime environments will also lead you to causing changes to the system that can break other things if you try to run them in one environment
for those situations docker is better but you still have to navigate the problem of connecting multiple docker deployments networks together, but considering it's impossible to get them to work in the same system that's kinda necessary
i say, if shit is that hard to get running you may want to try an alternative