SetUserFocus() vs SetKeyboardFocus()

What is the difference between these functions?
What each of them do exactly?

I believe you should use SetKeyboardFocus for scenarios without splitscreen, while SetUserFocus sets the focus for a specific local player.

If there is only one local player, both will have the same result as far as I know.

Thank you for explanation!