When do you use link-local or unique local in IPv6 networks? (Cisco doesn't manage to explain it properly in their online material.)
The answer to the question "When do you use link local addresses" the answer is "always". Link local addresses are present on all interfaces and are used for many essential link protocols such as neighbor discovery, duplicate address detection and router advertisement.
Unique local addresses are the replacement for the deprecated site local address scope. ULA addresses are similar in use to RFC1918 addresses in the IPv4 world, and allow an enterprise to number internal resources within their administrative domain with addresses that are unique, but not tied to routing policy, easing the pain if a change of ISP means that renumbering is required. Remember that with IPv6 there is no NAT, so you cannot simply rewrite at the border onto your ISPs address space.