Route preference (also called administrative distance) is primarily used to select between routes learned from different routing protocols to the same destination. When multiple routing protocols provide routes to the same prefix, the route with the lowest preference value is selected. Option D is grammatically incorrect ('protocol' vs 'protocols'). Route preference does not differentiate between internal/external BGP (A) - that's what LOCAL_PREF is for.