Digging into Keyboard.Focus(), somewhere in KeyboardDevice.TryChangeFocus it raises the PreviewLostFocus event to the thing that currently has focus. That thing has the ability to mark the event as handled which prevents further processing of it and effectively disallows the focus change.
Once you click on a list box item, generally you assume the list box is focused so that you can use the keyboard to move the selection from item to item. So maybe the Focus() check is to prevent a selection change without the ability to move the arrows and change focus.
I'm just guessing here. ;)