In general, SSH tunneling creates a secure connection between a local computer and a remote machine through which services can be relayed (the important part). Because the connection is encrypted, SSH tunneling is useful for transmitting information that uses an unencrypted protocol, such as IMAP, VNC, or IRC (the not-so-important part).
A case where I found this to be a useful technique was when I had a remote machine running a web server but because of various reasons (e.g. security concerns) there was no public open port available (that I could use).
If such a port existed (e.g. 9876
), I could simply access the web server from my favorite web browser just by providing the appropriate URL address (e.g. http://example.com:9876
).
But fortunately enough, I had SSH access to that remote machine.
This is how it works: