It largely depends on how you use them and how much luck you have.
I wouldn't say never, ever.
[...] There is a number of purely CSS-based menus over
a sophisticated usage of a:hover style rule. I wouldn't suggest to use
them: they are forcedly expose "immediate mouse effect" on mouseover/
mouseout and that is very irritating for users.
Surprisingly you make a coherent point here.
OTOH, in reality progressive enhancement, feature detection and
whatchacall your best practices de jour are somewhat moot. E.g.,
people talking about 'firewalls' nowadays are mostly talking about
desktop 'firewalls' which can mean about everything. People who write
them notoriously neither understand nor care about TCP/IP and
successfully managed to extend that approach to client side scripting.
There is, for example, the amazing(ly BS) CA Internet 'Security' Suite
that allows scripts to remove nodes but not to insert the intended
replacements, assign functions to events but not to execute them, and
just cancels certain methods dead-end. Depending on the phase of the
moon, and regardless of the actual UA's capabilities. And you'll never
know, because you cannot possibly detect *that* 'feature'. And it's not
your fault, technically, but it's your problem, realistically, one way
or the other.
So, javascript enhanced menus can certainly be a concern depending on
the implementation (the rule of thumb being that the logic of the
author, a public standard and actual implementations have to compete
with blackbox heuristics, and that this is a difficult thing to
judge or deal with).