Netbeans and Eclipse are the two most popular Java IDEs. I've been learning Java for little over a year now and I would like to share my opinions about them. I use both Eclipse and Netbeans, for two different purposes. Tried IntelliJ and Oracle JDeveloper once, but JDeveloper is slow even in my PC (C2Q Q9550 2.83GHz, 4GB, Intel G45). IntelliJ looks shitty, but i has the best auto-compile and refactoring feature available out the. Unfortunately it wasn't free and the trial expired so i didn't get to test it that well. So I'm gonna post some opinions about Eclipse and Netbeans focusing on some specific criteria.
Well, many of us are under the impression that Eclipse is faster. That however, is arguable. In slower machines Eclipse works much better. I did some test on my own with both of them. The basic Netbeans Java package is slower than the basic eclipse J2EE package. But the reason for this is probably because Netbeans loads a lot more plugins than Eclipse does. The full Netbeans package is 380MB with all the bells and whistle, which supports pretty much anything out of the box, but the full Eclipse package (Eclipse doesn't have an official full package, so created a package with similar functionalities as Netbeans full package), well, about 1.3 GB. And if you try to load Eclipse with that many plugins, It'll eat up about 1 GB of memory instantly, and the loading time is, well, I've never managed to load Eclipse, because it crashes. On the other hand, Netbeans loads all of them pretty effortlessly.
There's no question about the stability of Eclipse. Of-course, sometimes the third-party plugins may cause it to crash. But the official packages are extremely stable. Although Eclipse did have a bug in the Helios release involving auto-complete, it was fixed in SR1. Netbeans however, isn't as rock solid as Eclipse. The previous releases frequently crashed, though the newer ones (after 6) almost never crash. So they're pretty stable right now.
This is where Eclipse really triumphs. The autofix isn't present in Netbeans. Eclipse has a better refactoring support. So if you try to rename something, it won't mess up your whole code. Another thing is the auto-compile feature, which on the fly compiles your code as you type and gives you instant feedback on errors. Netbeans did try to implement something like this, but Eclipse is much better.
The usability of Eclipse is a hell. You'll have to spend more time configuring Eclipse, than working with your project. There are so many plugins for one task that the programmer is left confused. And the most ironic thing is, you're left on your own to choose the best plugin. Netbeans however, requires much less configuring, and in most of the cases, it configures itself, and configures itself correctly. Netbeans provides everything out-of-the-box, and integrates seamlessly with anything you throw at it.
Eclipse is more tool oriented, where Netbeans is more programmer oriented. It's easier to code using Netbeans. For example, if you want to create a JSF project, you can't do it using J2EE Project. You'll have to open a Dynamic Web Project to do this. These tool oriented view is sometimes very confusing. Netbeans however, is much more programmer oriented, and let's the IDE to shape itself how you think, instead of shaping your thoughts to match the IDE.
This is a trivial question. Eclipse is by far the best IDE in terms of plug-in support. It's essentially built on a plug-in oriented architecture. I'd say its second only to Firefox, which is not a IDE at all. So if you're doing a highly customized job, Eclipse will be your only choice. It has millions of plugins, though not all of them work well. Netbeans does have a plugin support, but the plug-in base is nothing compared to Netbeans. For example, if you want to develop Android applications, Eclipse may be your only choice.
Eclipse requires you to write your Ant script by yourself. So if you need a custom build-file, but don't know Ant scripting, you're in trouble.
Netbeans has an excellent Swing GUI designer (Matisse). Eclipse have some tools for GUI designing, but they're nothing compared to Matisse.
The best Eclipse plugins may not always be free (for example Zend).
Netbeans doesn't have any file import feature. It's very annoying sometimes.
Finally, which one do i prefer? Netbeans. Why? Because it's easier to use for me. Eclipse is somewhat too flexible for me. I'm new in Java and i really don't need that many features. Netbeans seem to provide everything i use out-of-the-box.
Which one is better? Excellent question. But there's no answer. There's no clear winner here. Give both of them a try, and use the one you like the most. Although i prefer Netbeans, i use both of them, to harvest the strengths of both.