Are VPN's really useful?

In theory, depends on what your goals are. Are they useful for what they are advertised for? Are they useful when you self-host? I'll go over what I think are the most relevant points are to this.


Privacy

No. A VPN does not increase your privacy as they have the same amount of power that your ISP would, and you have to remember that a VPN provider also has an ISP.

Do you have to use a VPN in public Wi-Fi's? No. You can be almost anonymous with public Wi-Fi's considering you spoof your MAC address and your hostname. A VPN would do even more harm to your privacy in situations like where an ISP doesn't know you (a public Wi-Fi). With a VPN, you will be adding a party that knows who you are to a system where an ISP doesn't know you. If you use the same VPN account across all public Wi-Fi networks, you would be centralizing your data instead of spreading it into systems where the ISP doesn't know who you are.

But my VPN says they do not log. Yes, they say they don't. You have no way of verifying it and there have been instances where VPN companies have sold data / shared logs but still retain their business (1, 2, 3, 4). A general rule of thumb is to never trust a server, which is an entity that you can not control. The zero trust model is when you do not trust a server for security and privacy and is a good example that a VPN that uses OpenVPN or Wireguard protocols can not accomplish (I do not know any other protocols that are audited and widely used, so I mentioned both of the most popular ones).

But I paid anonymously. You might've paid anonymously, but you still use your own IP address, and they can log that, combined with the websites you visit, spooky stuff that your VPN client might do, and a bunch of other info, you aren't in any gains by paying anonymously.

What about my IP address? An IP address is supposed to be public, so hiding it means you need anonymity, which I will talk at the end. If you are afraid that someone will "DDoS" you, you should not port forward and some OS's by default do not even respond to pings, so you won't be able to even get pinged. If your OS responds to ping requests (which you can disable), there is only so much that they can do.


Security

I'd like to call this military grade deception. With a VPN's encryption, your traffic is only encrypted during transit, and not at rest (meaning that your VPN decrypts their own encryption). This is oddly familiar to something else, which is HTTPS.

But I don't want someone hacking my traffic. If you use HTTPS, only you and the server and the website can see your data. In the case of you not using HTTPS, a VPN is as dangerous as an untrusted network, because you do not know who is on your VPN's network and if they MITM you. If you absolutely have to establish unencrypted connections such as HTTP, it's best to go to a trusted network such as your home (you have to know that your ISP still can MITM you, and if you were to use a VPN, now 2 companies can MITM you).


Anonymity

A VPN does not provide anonymity. They are a completely trust-based system that can leak at any time and knows what you do and who you are. You should use Tor browser or an OS that is built for anonymity such as Tails OS or Whonix.


Real Use Cases

A VPN is useful for streaming region blocked content and torrenting (although seedboxes do a better job at torrenting).


MISC

Tor and VPN's combined - Do not do that. That is not how Tor was designed to be used, and you should be using Tor bridges. You might also want to read Tor Project's take on VPN's + Tor.

What if Tor is compromised? - You will have to connect to the compromised entry and exit node, which there are 6000+ nodes in total, so that is pretty unlikely. You also will not connect to the node that is in your country, and you will most likely not have 2 nodes in the same country. You can also change your circuit any time you want. Tor also has cell padding (packets within Tor network) between you and the guard node, so it will take even more time to get you pwned. More about cell padding.

Self hosting a VPN - That option will decrease your anonymity even more but it is the actual way you should be using a VPN because now you will be able to interact with your devices that are not visible to the internet/are in your LAN, which is what VPN's were made for in the first place

More resources to look at: