After developing a JSF application for a few weeks, I have now been in contact with some negative aspects of MyFaces (and/or the JSF spec) as well. I knew that would happen, but some of it really surprised me. For example, there is no easy way to temporarily turn off form validation and not break the entire lifecycle without rewriting many parts of the JSF implementation. In the end I had to implement custom validation methods for forms, that get executed only when needed. Thankfully our project doesn't require lots of form validation.
During the last couple of weeks, I've started using Eclipse Web Tools in a small project. It's currently very buggy, but it seems on the path to total awesomeness and I think the time is not far when almost everyone and their neighbours dog will be using Eclipse or a derived product for Java web application developement. There's simply no point in using a commercial IDE, when a free one can do all the same things, if not more. I use IDEA at work, and while it looks and feels better, it seems like Eclipse is catching up fast with features, and its Refactoring functionality is arguably already better than IDEA's.
I also learned about some cool Eclipse productivity features that I hadn't noticed so far, thanks to the Planet Eclipse site. Should read the help more.