I'm not a fan of JSPs for the same reason I'm not a big PHP fan: the intermixing of code and presentation. I think it's difficult to hand off the JSPs to the HTML jockeys because of the java code. And I think that having to involve developers when the HTML changes is a waste. I've used Velocity and I like it much better for some of the reasons mentioned here. It forces the separation between presentation and application code, but it's only part of the solution when implementing the MVC pattern. I think Turbine is an excellent choice, especially when integrated with Velocity.

Macromedia now has released ColdFusion MX. I've never used ColdFusion, but I've heard the buzz about how it can create a wonderful user interface. This new release allows for integration with a Java application server. I wonder, though, about the claim that ColdFusion developers are easy to find an cheaper than Java programmers.