There's no silver bullet. It all depends on why you need VPN.
Personally I use it for privacy (I don't trust any ISP in the country and especially local government). I host my own VPN on a virtual node outside country (even outside continent). It makes the connection a bit slower, than without any tunnels, but I got used to it. Also I have to pay extra efforts to maintain it, but that's the privacy cost.
Moreover, with own server it's possible to achieve things which are usually unavailable with paid VPN services. E.g. run openvpn through ssl/ssh tunnel or something similar. Or use just ssh tunnel or anything like that. It helps to mask the traffic and ease your life in case of question from some people.
Depending on your country popular services might be simply unavailable and you'd need at least couple of them at the same time to ensure connection redundancy. Also (depending on what you're doing and local laws) you might have a hard time explaining your country secret agency why you're paying vpn proxy company, while explanation for hosting service might save a lot of time for you (and avoid additional questions). But that's (hopefully) extreme cases.
Also you receive static IP in case with hosting. But you might rotate it as often as you want by just recreating the machine.
But also keep in mind, that some services ban popular hosting (and VPN) providers IP ranges.