An anchor WLC is when you anchor a WLAN to another WLC. The WLC that has the other WLC configured as a mobility anchor is the foreign WLC the WLC that has the WLAN anchored to itself is the anchor WLC. Basically you are telling the foreign WLC to tunnel (anchor) traffic to the other WLC.
Anchor & Foriegn controllers comes into picture if you have two controllers in two seperate layer 3 domain (or in otherwords intercontroller L3 roaming).
Let's say you are connected to AP which is controlled by WLC1. Then you move to a different area & connect to AP2 which is managed by WLC2. In this scenario your client device IP should not change it's IP (if it is, service will break) . Since WLC1 & 2 is in two seperate layer 3 domain, WLC2 cannot give the same IP you had. Therefore WLC2 has to tunnel back your traffic back to WLC1. Therefore WLC1 will be anchor controller (original WLC where client associated) & WLC2 becomes foreign controller (where it will tunnel back user traffic to original controller)
Here is some of my notes related to different types of roaming & read this for basic understanding
Guidelines for Using Auto-Anchor Mobility Follow these guidelines when you configure auto-anchor mobility:
•You must add controllers to the mobility group member list before you can designate them as mobility anchors for a WLAN.
•You can configure multiple controllers as mobility anchors for a WLAN.
•You must disable the WLAN before configuring mobility anchors for it.
•Auto-anchor mobility supports web authorization but does not support other Layer 3 security types.
•You must configure the WLANs on both the foreign controller and the anchor controller with mobility anchors. On the anchor controller, configure the anchor controller itself as a mobility anchor. On the foreign controller, configure the anchor as a mobility anchor.
•Auto-anchor mobility is not supported for use with DHCP option 82.
•When using the guest N+1 redundancy and mobility failover features with a firewall, make sure that the following ports are open: