Domain Names
Are they Worth it?
Domain names are everywhere nowadays. Everybody uses them! I mean, go to any modern business, small or large. It's likely that they have a website. Whether its a direct tld like .com, or its a free version of a static hosting service like Github Pages.
The point is that domain names are common. Should you have your own? I mean, I enjoy mine. That is certain.
The pricing
This is the reason why some people choose to go without domains. Domain names can be expensive. However they usually aren't. I personally use Namecheap with Cloudflare. Namecheap gives the cheap domain names and Cloudflare handles some backend services and DNS for security. What's nice is that Namecheap .com domains are only about 11 dollars a year, which in my opinion is a really affordable option. Depending on the tld (.com, .org, .net) you could be looking at around 25-30 bucks a year. However it's easily manageable.
In total I don't think that domain name's prices should be the reason you don't get a domain.
The usage
If you're a business, and all you need is a QR code at your real life location, I would recommend not buying a domain. Sure, if you want your online presence to be easier for customers then yes. But if your business or thing is mosty in person, Github or Glitch links will be fine. Especially in the case of QR codes where you don't even need to show the .github.io at the end.
However, if you're looking to have a big online presence, like online orders, or hosting your webpages, then a domain is probably something to consider. Domains again are pretty cheap. I think getting a domain (from personal experience purchasing tommustbe12.com) is very worth it as it helps centralize what you're doing. Github.io links are longer to type and don't have a great feel to it when using in the browser. You always want your user to have good experiences visiting and going through your site.
Availability
Even with there being as many as 1 billion active websites / web servers around the entire world, availability is pretty good. Plus, domain registrars give you the availability status of the domain or similar domains when looking one up. Domain availability is not an issue most of the time, since even if the domain you wanted is taken, you can find a similar one. For example, if you wanted helloworld.com, you could find a website like helloworld.net, hello.world, or something else, depending on your registrar's TLD availability.
Cons
Having a domain has some cons. One big con is Whois lookup. If you hide your Whois information on your website it could be marked as dangerous or your SSL certificate, in extreme cases, could be taken away. I don't think that it's a big issue, but if you are a private person and want to not expose your Whois information it's helpful to know.
Another con is that having a domain can attract more attention to your services. You'll need good security and DDoS protection if you want to have a domain, especially if you have a backend server. If something isn't secure, you can expect a malicious user to eventually stumble upon your site and mess things up (I'm talking from experience!)
All in All
Get a domain! They're cheap, easy to manage, and I will be putting out some tutorials on my YouTube channel in the future.