Tunneling is a generic networking concept. SSH tunnels (ssh -L, ssh -R) carry arbitrary TCP through an SSH session. VPNs tunnel IP packets through TLS or WireGuard. Reverse tunnels carry HTTP/TCP from a public relay back to your localhost.
The 'tunnel' terminology comes from the encapsulation: traffic enters one side, gets wrapped in another protocol's framing, exits the other side, gets unwrapped. The wrapper protocol is typically chosen because the firewall in the middle allows it (HTTPS or SSH almost always pass).
Reverse-tunnel-as-a-service products like lrok and ngrok specifically tunnel HTTP/TCP between a public hostname and a private localhost. The 'reverse' indicates the agent (private side) initiates the connection, not the public side.