NAT is the trick your home router uses to put dozens of devices on a single public IP. Outbound packets from your laptop have their source rewritten from 192.168.1.42 (private) to your router's public IP, with a port-mapping table tracking which device owns which connection.
The consequence is that NAT is one-way by default. Outbound connections work; inbound packets to your public IP have no entry in the mapping table — the router drops them.
Reverse tunnels work around NAT cleanly. The agent on your laptop dials OUTBOUND to a relay (which NAT allows), and the relay accepts inbound traffic on its end. The pre-established outbound connection is the path inbound traffic eventually returns through.