It amazes me that onion sites aren't everywhere. They are easy to spin up, you don't have to pay anything and can run it from your own home. No need to purchase a domain, worry about expiration, have an open port. Built-in DoS protection. Anonymity and authentication by default. No need to configure HTTPS. Sure, uptime is on you and there is some latency/bandwidth limits to be considered, but once you are over that, onions are a solution to many problems and the benefits are enormous.
Depends on your location and standards. Lots of the Tor relays are in Europe, so if you are here the connectivity is pretty good. Bandwidth is usually up to 2 MB/s and latency usually goes from 300ms - 1.5 seconds. Initial connections to a server might take longer (5-7 seconds). For browsing the web and playing non-HD videos it's fine in my opinion.
As someone who just stumbled on here from ALL, I'm vaguely familiar with Onion sites and TOR more generally, but what resources would you recommend to learn more about setting one up for myself to play around with?
It's easy. Just edit your Tor configuration file (torrc) to enable an onion service. This one forwards from the onion service on port 80 (so users don't have to specify a port number in the URL) to a local HTTP server running on your machine on port 8000:
Change the directory path based on your operating system. Specify a directory that doesn't exist yet so Tor can set the correct permissions on it. Next, start or restart Tor. Then just read the onion service's hostname in the hostname file created in that hidden services directory.
You can then run any HTTP server on localhost:8000 and anyone connecting to your onion service can access it. In Python this might be as simple as python3 -m http.server --bind localhost 8000 --directory . to share the files current directory (but be aware that there are some security considerations, like symbolic links, to be aware of. Just use this for testing.) For production servers you will want a "real" http server.
Sorry but for someone who knows just what the Wikipedia intro says about TOR, and having used it like once, I just thought it takes forever to load broken sites just for the benefit of some allegedly improved privacy. I figured it is only useful to people who want to browse illegal sites, but does this mean that any hidden website is illegal? Just for the sake of argument if someone hosts an old-fashioned HTML site about his fucking hobby, will they face legal repercussions just for serving it as a hidden webpage? I can't fathom that.
If you don't share the onion link with others and just use it for yourself, no one ever discovers it, unlike the public internet where you get crawled by port scanners all the time. Also there is a public key whitelist feature if you want to restrict who connects.
There are sites like Ahmia that you can submit your site to and which attempts to do indexing. People who run .onion sites should also do webrings like what were popular in the mid-1990's. I remember seeing those all the time on the original Geocities. Starting a .onion site is easy to do with software like OnionShare.