After posting about my initial experience with Resin yesterday, Robert Barksdale, always the evangelist, mailed me to point out that not everyone hates Tomcat. Worth a read. It looks like the whole application server pissing-match has been well argued by the java blogosphere. Mike Cannon-Brookes has an excellent summary.
What it boils down to is that Orion and Resin have automatic compilation and deployment, whereas Tomcat doesn't. That's not such a big deal for your production server, but it really slows down development. More than you might think.
My favourite thing about web development is that you can make a change in your code, hit Alt-Tab to jump to the browser, hit F5 to refresh, and immediately see the results of the change. Orion and Resin let you do that, but Tomcat makes you go through a manual compilation step, which adds 10-30 seconds to the iteration overhead (the time between saving your code and being able to see the results). It doesn't sound like a big thing, but it really increases the frustration factor. Joel Spolsky talked about this in his famous Joel Test article:
"If your compilation process takes more than a few seconds, getting the latest and greatest computer is going to save you time. If compiling takes even 15 seconds, programmers will get bored while the compiler runs and switch over to reading The Onion, which will suck them in and kill hours of productivity."
Message to platform developers: Even a little bit of pain will give people a bad feeling about developing for your system. They'll be much happier if they can just type in some code, hit a couple of keys, and see it running, without a huge delay in the middle. So make sure they can do that.