Eclipse Callisto was released last week. Now the main eclipse subprojects can be easier managed - and deployed. Eclipse is very good IDE. The subprojects like GEF, EMF, GMF, BIRT etc. are production ready and can absolutely compare with commercial frameworks.
The Eclipse IDE is based on the SWT Toolkit. The intention of the toolkit was the improvement of performance and better OS integration. Eclipse gained momentum with the great plugin architecture, so developers started to use eclipse as a rich client platform.
From my point of view especially the SWT and RCP story is a little bit overhyped. At almost every Java the SWT RCP aspect was introduced, over and over again:-).
BUT: from my point of view, the standard old Java Swing Toolkit is much better, than SWT. Especially more sophisticated widgets like trees, tables etc. are more object oriented and powerful. In Java6 Swing will be better integrated to the OS, so it is still a great choice. The deployment of Swing is also easier, because you do not have to distribute an additional framework. WebStart is sufficient for this purpose. Swing ist "standard" SWT not.... There are also many tutorials, books, screencasts, weblogs about Swing, the SWT area is not very well documented.
I recommended the Eclipse RCP in some projects. The reasons for the choice were the availibity of GEF, BIRT-Designer COM-integration, Cheat Sheets or other subprojects etc. The SWT was more a disadvantage, than a feature.
For pure Rich/Fat-Client development Java5/6 and Swing are more suitable. The tool support is really great.
Just checkout the free Matisse GUI-Builder together with Netbeans 5.X. I do not like WYSIWYG tools, but matisse is really great. The new layout manager will also become a standard and will be distributed with Java6.
Eclipse and Netbeans are both very good IDEs. I still prefer Eclipse for JEE/Java development. Netbeans was dramatically improved in the last years, so it becomes a real competitor.
For the development or rich client the matisse GUI builder is a real killer app. In this case I would use netbeans and of course Swing. Why to use SWT, in case Swing comes already with Java - with no additional effort.
By the way: there is also a Rich Client Platform available for Netbeans...
NEW MUC Airport Workshop: Migrating Java Client (Swing / Java FX) to Web Standards