This plugin handles most of the boring parts of making Javascript drop-down/navigation menus. This includes handling mouse events and delays (and doing the right thing for nested menus as long as the CSS is correct), and adding several useful classes to various elements. Look at the documentation or the source code of the plugin and the demos for more info.
This plugin is pretty open-ended and customizable - you can specify custom actions when a menu or submenu is shown or hidden (i.e. animations or different methods of hiding/showing the menus), you can build the menu using basically any tag structure (as long as submenus are direct children of their parent menu items), and you can set 3 different types of delays for usability.
It's pretty simple to use - you define some CSS rules, and as far as Javascript, you can just say $('#menu').menu();
and be done with it, or you can add some options. See the demos and documentation (at the project homepage) for more information.
Known to work well in IE 6 and above, and Firefox 2 and above. Should be fine in Safari and Opera as well, but these need to be tested more. Other browsers could probably be coerced into showing something reasonable with some CSS hackery.
Download this plugin (v0.8)
Here's the code, and here's a minified version. Copyright © 2007-2008 James Nylen.
Demos and documentation
For a couple of demos and some documentation, please go to http://hax.nylen.tv/jquery-menu/.