Good question, for starters it can be a bit confusing. The first choice is:
- use a provider: it’s just another operator but that you trust more than google and the others (these are the so-called Nextcloud providers: Simple sign-up for hosted Nextcloud – Nextcloud)
- host it yourself: that’s the real deal, so you do it yourself and don’t have to trust a third party. You can run it on your own server (dedicated, vserver, server at home, raspberry pi, …) or even on webhosting (the performance is very limited in general, and then I’d rather look for a good provider)
If you decide to host your own, there are several options as well:
- install it on a Linux server (the plain packages)
- use one of the images (virtual-server image, image for raspberry (nextcloudPi), docker-images or snap-images).
If you want to take a look and check it out a bit, I’d use either a raspberry pi with NextcloudPi in your local network, or set up a virtual machine on your system and the vm-image.