just what is the difference?

In a nutshell!



Java, javascript and HTML (without the D) are all similar languages in that they are "platform-independent", which means that when you write something using these kinds of code, it will run on all sorts of different platforms (i.e. all sorts of computer-types). This "platform-independence" is important for the internet, as you never know what kind of computer your site visitor may be using. Java and javascript are also similar in that javascript uses similar syntax to java and a few commands that are spelt like java commands. But the similarity stops here.
Java is a full-blown programming language, and its results are "compiled" into small independent files (known as, for example, applets, servlets, beans and applications) which cannot be read by human eye and which execute very fast when embedded in a web page. It is a powerful language and can create highly interactive web page elements. Unlike DHTML menus, java menus can be highly scalable (i.e. handle big indices without loss of performance).

Javascript is a limited programming extension to HTML with code in the web page itself that can be read and written by most web designers. It is much easier, much simpler, and much more limited than java. It is also much more vulnerable to browser-differences (Microsoft and Netscape javascript vary considerably, which is a real pain for designers). Although javascript is generally much more limited than java, it does have a few additional tricks up its sleeve - e.g. (i) javascript, not java, is what writes those cookies that so many people love to hate; (ii) javascript is generally better at communicating between frames and pages; (iii) javascript is better at manipulating or modifying HTML code dynamically.
DHTML is not a programming language at all. It is a feature of version 4+ browsers. This feature allows the HTML to be modified dynamically. You can modify the HTML (i.e. "take advantage of the DHTML-feature") with a number of programming languages, one of which is javascript. When people talk about "DHTML as a programming language", they usually mean "I'm using javascript to take advantage of the DHTML-feature". In practice this therefore means that there is usually NO difference whatsoever between a "DHTML menu" and a "javascript menu" (but a LOT of difference between these and a "java" menu).
So...there you have it. Short and sweet.