Too much of the marketing of development environments seems to ignore the fact that the thing coders spend the majority of their time doing is either writing code, or thinking about writing code. “Just fill in this wizard, and you've deployed your very own web service” does not impress me much when all the service does is say “Hello World”
So long as you follow the advice of the Pragmatic Programmers and automate everything you're likely to do more than once, it's pretty easy to get around the absence of specialised tools for things like EJB development, application deployment and so on. All the development environment needs to do in that situation is stay out of the way (which some do better than others). On the other hand, you're unlikely to want (or have time) to write a fully-featured editor or code-navigation tools, and these are the two things that help you write code, and think about writing code.
The reason Intellij IDEA is so cool is that they started with the plan “let's write an environment for writing code, and thinking about writing code”. With that and the hooks to Ant, JUnit and CVS, there really wasn't much you couldn't make it do. A guy from Sun was giving us a sales demo for SunONE Studio on Friday, and all the questions that sprung to mind about it were a checklist of IDEA editor features. Does it have smart templates? Refactoring support? Java context-aware searches?
Amongst all the things SunONE Studio could do with EJBs, web services, web applications and so on, refactoring turned out to be a third-party plugin. To me, this is like shipping a car with air-conditioning, mag wheels and a turbocharger, but it's stuck permanently in first gear until you buy Rational Gearbox™