Разница в том, что `mouseleave`/`mouseenter` срабатывают только когда ты наводишь/уводишь курсор непосредственно с элемента. А `over`/`out` срабатывают и для дочерних элементов, что в данном случае нинужно и приводит к дополнительным проверкам.