https://esc.sh/projects/devops-from-scratch/ is a good resource. Most questions you have (that are more specific) are easily searchable on the internet.
ways to safely connect to home servers over the internet while away A couple methods include :
- Installing Wireguard on the host machine
- Reverse-proxying with a VPS
- Cloudflare zero-trust tunnel
when it may be better to spin up services on a VPS instead
Most services you probably won't need a VPS to do, but off the top of my head a couple services which would be better hosted (not saying self-hosting them on your own hardware is bad) would be services which proxy a service. Example SearxNG, Invidious, Proxitok, etc. This is so that traffic can be shared among multiple users, and not linked back to your home IP.