According to Link-local address on Wikipedia:
In IPv4, link-local addresses are normally only used when no external, stateful mechanism of address configuration exists, such as the Dynamic Host Configuration Protocol (DHCP), or when another primary configuration method has failed. In IPv6, link-local addresses are always assigned, along with addresses of other scopes, and are required for the internal functioning of various protocol components.
The citation refers to RFC 4291, but that simply asserts that "all interfaces are required to have at least one link-local unicast address" and does not identify the other relevant "protocol components." Why does IPv6 require link-local addresses, even when DHCPv6 or some other method of assigning a routable IPv6 address is available?