The goal is to have the hover style applied correctly regardless of how the widget wound up under the mouse. One example for how the widgets get moved is the window being maximized then restored. If the window is restored and the widget is moved under the mouse as a result of the restore, the hover style isn't applied.
The HoverLeave event has the inverse of the issue, where if the widget is moved away it doesn't receive a HoverLeave event. This is mostly an issue with my custom title bar, where if I maximize then restore the TitleBar, the maximize button never receives a HoverLeave event and so displays the hover style when the window is restored and the maximize button is shown.
Edit: The HoverEnter seems to function correctly when the window is restored, but the HoverLeave event still has the issue. A better example for the HoverEnter event may be a dynamic layout, where a widget is removed resulting in a different widget moving under the mouse.