How does Civimail reply tracking and forwarding work?
CiviCRM uses Variable Envelope Return Path (VERP for short) to track bounces and optionally replies.

This technique assigns a unique, coded address to two aspects of a CiviMail email. Viewing the mail headers, you might see something like

Return-Path:      &lt;civimail+b.1234.1234567.aabbccddeeff1122@example.org&gt;
X-Civimail-Bounce: civimail+b.1234.1234567.aabbccddeeff1122@example.org
Reply-to:          civimail+r.1234.1234567.aabbccddeeff1122@example.org


Here's a breakdown of what you're seeing -

civimail         - the mailbox name of civimail@example.org
+                - VERP separator
b                - action - (b|bounce|c|confirm|o|optout|r|reply|s|subscribe) etc
1234             - mailing job id
1234567          - mailing queue id
aabbccddeeff1122 - validation hash


SMTP systems understand these headers, so if the message is undeliverable they should return the bounce to the Return-Path address, and if the person hits reply their mail client should use the Reply-To address. This depends on correct behaviour in the MTA and MUA, both of which are outside of control of CiviCRM.

The main place this is used is in the email processor at CRM/Utils/Mail/EmailProcessor.php, where CiviCRM checks for these strings either in the message headers this bounce/reply was delivered to, or in the body of the message (some mail systems don't permit VERP delivery; expect less ideal results without full VERP support).

... That's how it works under the hood! Joe's answer explains this well from the other side of the dashboard :)