We've used Netbeans and Eclipse for previous projects, but moved to IntelliJ last year.
The language integration is much richer - and it has a more solid foundation for working with multiple languages. For example, find usages and refactor-rename will work across different languages and templates. When I find usages for a field, for instance, it shows me where it is used in hibernate queries, EL expressions on pages, etc.
Languages can be arbitrarily nested in each other, a lot more so than other IDEs I've used - for instance, I can still use command completion and refactoring in nested SQL, HTML, CSS or even Javascript (eg. GWT's JSNI methods) when it is inside java strings, or XML documents, or wherever else.
The JavaScript support far exceeds either Eclipse or Netbeans. IntelliJ has fairly decent refactoring and completion for Javascript, which the other IDEs (at least as of last year) barely supported.
It has full completion, find usages, and jump-to-usage within JPA/Hibernate queries, which all ties straight back to the original entity classes.
The refactoring tools are a lot richer, and a lot faster than Eclipse or netbeans offered. On a largish project the refactoring commands still feel near-instant in IntelliJ -- it may not sound like such a big deal, but after becoming accustomed to it, I use the refactoring tools constantly while writing code. I didn't do it nearly as much with the other IDEs.
The refactoring commands are all extremely solid -- for instance, the extract method refactoring will detect similar code snippets and ask you if you want to replace them with the method call. I never had Eclipse or Netbeans ask me that (Have they changed in the newer versions?)
I've also found the support for Git far exceeds the other IDEs.
While the price seems expensive compared to the free competition, most programmers use their IDE 8 hours per day -- given programmer wages, it only takes a tiny improvement in productivity to pay for itself.