Ray Gans, a senior program manager at Sun Microsystems, has written a blog entry about Java 6 titled "Where We Are With the JDK." He lays out a road map leading up to the final release of Java 6, which includes two betas (the first in February, the second in the summer) and with a final release in August. The slip from a mid-2006 release to August 2006 is the change that seems to have everyone's attention. I personally don't care. Most folks on the commercial side are still moving over to Java 5, with a very large percentage still on Java 4.2 (or 1.4.2 using the older numbering scheme).
The biggest reason for delay seems to be the rewrite of the class loader. I had wondered at the time it was announced how much testing would take place with this significant change. And now I know: lots and lots. They must have run into problems already because of the comment in the blog where Sun wants to "address some issues in sensitive areas of the codebase (e.g., the classloader) and want to be certain these changes won't break anyone's code." Re-writing the classloader is not to be lightly undertaken. When you make such a profound change you'd better test to exhaustion. Some serious bugs must have been filed against this change. Oh well.
Another change that I appreciate and use has been better text rendering, especially on flat-panel monitors. I use Java 6 on a Gateway notebook under both Windows XP and Linux (SuSE 10). I use it with NetBeans 5 to get the sub-pixel anti-alias rendering for text in the editor. It's what makes NetBeans 5 tolerable as an editor, and makes it competitive with Eclipse on those platforms.
I'm satisfied with the delay. It will lead to an even better Java 6 at launch. My only complaint is that the first beta is based on build 59 of the weekly snapshots. I'm currently using build 68 (released January 19th). I've been using Mustang for about six months, going to the binary snapshot site and picking up the drops as they happen. Java 6 snapshots have been very robust for some time now, as well as extremely fast. I suppose if I have to ship a preliminary Java release running against Java 6 that I'll use the official beta, but for day-to-day work and development there's no reason for me to stop using the snapshots. I'm excited about Java 6 and look forward to its final release.