Tunneling means providing a secure path through an untrusted network. SSH Tunneling is an encrypted tunnel created using the SSH protocol connection. SSH Tunnels also allow users to bypass Firewalls.
For those who are new to this concept, according to Wikipedia,
To set up an SSH tunnel, one configures an SSH client to forward a specified local port to a port on the remote machine. Once the SSH tunnel has been established, the user can connect to the specified local port to access the network service. The local port need not have the same port number as the remote port.
In layman’s term it means Secure Port Forwarding. So why is it needed? In some cases when the WiFi is not secure, others can possibly read the data that is being transferred over it. I have illustrated a diagram below to explain how SSH Tunneling works.
People use SSH Tunneling to connect to their emails securely, others use it to transfer data to and from one server to their local computer. I hope it has cleared your concept, most people after hearing about SSH Tunneling or Port Forwarding get scared. But in fact it is very easy to setup once you get the idea of how it works. Enjoy!