Innovation needs stable basis. New internet services don't interfere with old ones, so no need for expensive and tedious approval process. Important for new applications that infrastructure -- including naming system -- behave predictably.
Easy to write new network applications. Don't have to special-case by TLD when writing software. Keeping tables of TLD behavior is a bad thing and brings you into trouble. host table analogy. Nobody updated them. Idiosyncratic features return us to host table situation.
Impact on users. Attention to backwards compatibility. Let old applications see old behaviour. Don't force old applications to upgrade. Upgrades don't happen. One of the things that killed OSI was need for gatewaying between different versions of X.400. We don't do that on the Internet, that's why we are here.
Example: IDN. DNS spec permits any binary string. Applications told that it's not a good idea. Applications expect letter-digit-hyphen. To old applications, IDNs look like meaningless domain names. Hard problem: Internationalized e-mail. Internationalized addresses: Last step, hard.
Alternative ways to do typo-fixing service. DNS Internationalization in practice. Some letters look like other letters. Have unregistered reserved name -- not possible with wildcards.
Network incredibly robust against many types of nonsense. Robustness depends on stability and predictability. Practical stability, not some lawyer reading contract, finding something defined, and concluding defined = permitted.
Robustness principle.
Wildcards: MX wildcards important when bringing countries with poor communications infrastructure to Internet -- let wildcard MX point to gateway, have gateway convert to legacy protocols. Wildcard then defined generically, but known from the beginning to be harmful when applied across protocols. MX only affects one protocol.