If you use the Sun RI or MyFaces makes no real difference. Both implement what the JSF standard defines.
For the component libraries you have to have a look at:
- ICEfaces (we prefer this)
- RichFaces (you've to check how tight this is with the JBoss world already)
- Tomahawk (the classic; there are rumors that the development is a bit stalled)
- Trinidad (the Oracle ADF Faces Open Source kernel)
These are important. Woodstock is dead and the ICEfaces guys are on the way to offer a migration path. If you work with Oracle tools already (e.g. JDeveloper) Trinidad is a good candidate to start. If you work with JBoss tools already RichFaces is a good candidate to start.
For a more independent use have a look at Tomahawk and ICEfaces. ICEfaces allows to integrate Tomahawk components, although the skinning is not really compatible. Integration is one of the key features with ICEfaces. The support of IDEs, Application Servers and other Open Source frameworks is brilliant. The Facelets integration is the best you can get. The AJAX push technology is the best Push implementation at the moment. A lot of stuff of JSF 2.0 is already part of ICEfaces 1.8.
Here's a bit more why we prefer ICEfaces:
http://blog.rainer.eschen.name/2008/09/22/icy-faces-for-more-than-a-year/
For an introduction into JSF look here:
http://blog.rainer.eschen.name/2008/03/10/how-to-start-the-jsf-dance/
Hint: I was asked by Packt Publishing at the end of 2008 to write a book about ICEfaces. It will be available at the end of October 2009. Knowing this, the answer may be a bit biased. But, this is a result of a long test and over 1.5 years of experience with ICEfaces. It is the best you can get in technology. I tested all important Open Source JSF implementations, before our project chose ICEfaces finally.