Наверно из-за того, что между пунктами (родительским и дочерним) есть однопиксельный отступ.
А вообще, так пункты лучше не верстать (я имею в виду делать родительский и дочерний пункты независимыми блоками). Лучше так:
<ul>
<li class="haschildren">
Родительский пункт
<ul>
<li>Дочерний пункт</li>
<li>Дочерний пункт</li>
</ul>
</li>
<li>Другой пункт</li>
</ul>
Таким образом можно вешать обработчик наведения на .haschildren (по которому будет показываться .haschildren ul) и не париться. Можно даже одним CSS обойтись, строя меню на :hover