Punycode format is the encoding that allows you to specify domain names in your native language. For example, instead of the domain burger.com, which is most likely busy, you can search and buy a more available domain in your own language, for example, бургер.рф. Since all domains are stored in Latin letters, such a domain will be automatically encoded in punycode format when purchased and will be stored as xn--90aeg6bco.xn--p1ai. All browsers support Punycode and will on the fly convert your domain into native language to бургер.рф. But it should be noted that not all domain zones support IDN (punycode), check before purchase.
Unicode is an encoding that allows you to write text in any language.Since the format for storing and managing domain names is limited to English characters, Punycode format is created that allows you to bypass this restriction. Domains are stored and transmitted in English characters (in Punycode format), and displayed in the usual, convenient form (in Unicode).