Punycode is the encoding the DNS uses to represent Unicode (non-ASCII) domain labels in plain ASCII. A Unicode label is converted into an ASCII string beginning with the xn-- prefix; that encoded form is what is actually registered and resolved.
For example, a domain a user sees rendered in Cyrillic might be registered as xn--80ak6aa92e.com. The Unicode display is just a rendering of the underlying xn-- name.
Punycode is what makes IDN homograph attacks both possible and detectable: attackers exploit the human-readable rendering, while defenders and browsers can fall back to the unambiguous xn-- form to expose a spoof. See the guide on homoglyph and IDN lookalike domains.