You need an SSH server running and the remote machine to be accessible (through NAT, firewall) to connect there with SSH. With tunnels, it's inverted: the remote machine needs to be able to connect to the central server, which is typically much easier; then you can connect to it.
Seems like you also must have a github account to use that.
Thanks, this makes sense. I think I still prefer the SSH option, but I have to give Tunnels a try.