Depends on what you want to do and how technical you are.
Main advantage of hosting on your own hardware from home are cost and ease of access. Main drawback is that you need to give acces to your home network when you want to provide services. When you know what you do and your connection is fast enough, that isn't a problem.
The main advantage of a VPS, which you rent instead of buy, is the flexibility and keeping security threats out of your home network. You can activate one for the service you like to provide, keep it alive until you don't need it and have it detstroyed. Security issues may exist, but they are out of your home network. In the long run they are more expensive.
You can also combine both, host some services locally (RPi or a nuc) and some remote on a vps.
Here I run several personal websites local, but the DNS of my domains, incoming email and business websites are hosted on a set of VPS'es (set as you need 2 for dns). All websites are static, no management software what so ever, as most are (huge) security risks. For email I use the main VPS as 1st line of defence. Spam and virus scanning is done there.
I could use my RPis to do all locally, but I prefer to have DNS and email externally. Also, my only surviving client would be leaving when I run everything from home. (He's basically paying for the servers, I just keep them running, pay for them and send the bill ;) )
When just 'messing around' a VPS is advisable, as you can trow it away and try again when you mess up. ;)