Yo utilizo el Dreamweaver y he descubierto que tiene un asistente para crear menús sobre un enlace utilizando la clase Menu.
No está mal porque se pueden configurar muchos parámetros, entre ellos el tiempo de retardo entre el onMouseOut y la acción de ocultar la opción de menú.
Aquí pego el código que me ha generado una prueba que he hecho:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function mmLoadMenus() {
if (window.mm_menu_0920195001_0) return;
window.mm_menu_0920195001_0_1 = new Menu("Opción 1",95,17,"Bookman Old Style",11,"#FFFF33","#FFFFFF","#000000","#000000","left","middle",3,0,500,-5,7,true,true,true,5,true,true);
mm_menu_0920195001_0_1.addMenuItem("Opción 1_1");
mm_menu_0920195001_0_1.addMenuItem("Opción 1_2");
mm_menu_0920195001_0_1.fontWeight="bold";
mm_menu_0920195001_0_1.hideOnMouseOut=true;
mm_menu_0920195001_0_1.bgColor='#000000';
mm_menu_0920195001_0_1.menuBorder=1;
mm_menu_0920195001_0_1.menuLiteBgColor='#330000';
mm_menu_0920195001_0_1.menuBorderBgColor='#FFFF00';
window.mm_menu_0920195001_0_2 = new Menu("Opción 2",95,17,"Bookman Old Style",11,"#FFFF33","#FFFFFF","#000000","#000000","left","middle",3,0,500,-5,7,true,true,true,5,true,true);
mm_menu_0920195001_0_2.addMenuItem("Opción 2_1");
mm_menu_0920195001_0_2.fontWeight="bold";
mm_menu_0920195001_0_2.hideOnMouseOut=true;
mm_menu_0920195001_0_2.bgColor='#000000';
mm_menu_0920195001_0_2.menuBorder=1;
mm_menu_0920195001_0_2.menuLiteBgColor='#330000';
mm_menu_0920195001_0_2.menuBorderBgColor='#FFFF00';
window.mm_menu_0920195001_0 = new Menu("root",79,17,"Bookman Old Style",11,"#FFFF33","#FFFFFF","#000000","#000000","left","middle",3,0,500,-5,7,true,true,true,5,true,true);
mm_menu_0920195001_0.addMenuItem(mm_menu_0920195001_0_1);
mm_menu_0920195001_0.addMenuItem(mm_menu_0920195001_0_2);
mm_menu_0920195001_0.addMenuItem("Opción 3");
mm_menu_0920195001_0.fontWeight="bold";
mm_menu_0920195001_0.hideOnMouseOut=true;
mm_menu_0920195001_0.childMenuIcon="arrows.gif";
mm_menu_0920195001_0.bgColor='#000000';
mm_menu_0920195001_0.menuBorder=1;
mm_menu_0920195001_0.menuLiteBgColor='#330000';
mm_menu_0920195001_0.menuBorderBgColor='#FFFF00';
mm_menu_0920195001_0.writeMenus();
} // mmLoadMenus()
//-->
</script>
<script language="JavaScript" src="mm_menu.js"></script>
</head>
<body>
<script language="JavaScript1.2">mmLoadMenus();</script>
<a href="#" name="link2" id="link1" onMouseOver="MM_showMenu(window.mm_menu_0920195001_0,56,16,null,'link2')" onMouseOut="MM_startTimeout();">Menu </a>
</body>
</html>