Bill Bumgarner: Why Java on the Desktop Just Doesn't Matter.:

But when I look at the boxes of software in CompUSA or an Apple Store, I don't think I have seen a single piece of popular or 'major' software written in Java.

What John [Carmack] said above is largely why. Java is a great general purpose language. I have written tens of thousands of lines of Java code for various random web and web related applications and enjoyed doing so quite a bit. If you remember, I was one of the handful of developers in the WebObjects community that fully embraced the move to Java.

Java has failed on the desktop because the architecture does not yield a decent and responsive user experience without a tremendous amount of effort fighting against the 'natural' patterns of the various toolkits. The promise of Write Once, Run Anywhere mostly-- well, pretty often-- works for non-UI applications. For UI applications, the differences between platform and UI philosophy mean that WORA also yields a user experience that is alien to the platform.
(emph mine)