A VPN is basically only needed if you are in a situation where you don't trust your internet connection--either because it's being tampered with, spied upon or because you're doing something you don't want the authorities to know about.
It's unlikely your home connection is being tampered with in any important fashion. Some ISPs these days will inject notification messages into unencrypted HTML traffic but that's usually about it. Public Wi-Fi is another matter, a black hat is much more likely. In foreign lands it can be essential--for example, nothing Google works in China. I don't set foot over there without having a VPN set up on my equipment.
Spied upon is usually not a meaningful threat to the average person. If I'm over there and not using a VPN I figure Beijing can probably see what I'm doing. So what? Things like login credentials go over HTTPS already, they won't get the passwords. These days many systems have gone 100% HTTPS anyway, they're not going to see what you're doing.
That leaves hiding from the authorities. If they're going to deploy the big guns to hunt you it's not going to be enough. The government will trace you to the VPN, then go tell the VPN to disclose what IP such-and-such traffic is coming from. VPNs that advertise about not keeping records will protect you from this in the past but it won't shield you if you're actively doing it when they are hunting. (They see you browsing at PlayPen, every VPN out there will cough up the account info {which could be anonymous} and source IP {which will finger you.}) It's only a useful shield against low level things--copyright issues etc.
I have yet to see a VPN that doesn't seriously trash your speed--admittedly, my first criteria is how well they play cat & mouse with the Great Firewall, though.
Edit: Forgot, there's one more use case that's rare: If you need to be able to accept inbound connections and your ISP is doing address translation. (Note, however, that this is almost certainly against the TOS of your ISP!) I have a 10.x.x.x address here, inbound connections simply aren't going to happen. This is normally worked around these days by both ends connecting to a central server that then sends out packets that will trick both systems into thinking it's outbound traffic and allowing the connection to be built so there's little reason to use a VPN for such a case. (I'm thinking of things like Skype, TeamViewer etc.)
Last edited by Loren Pechtel; Oct 12, 2017 at 9:58 pm