I have been using Primefaces since it seems more complete than the others. The thing about it is it is under very active development. The current development release is PrimeFaces 3.0 Milestone 3.
Version 2.2 is more stable, but it is painful to commit to it because you want the features that are appearing in version 3.
There are lots of bugs and undocumented quirks in the development releases. If you can cope with those then I would say go for PF 3. If you can't use PF 2.2 or something else.
Just one example: I have spent three days of my project trying to get one little composite component to work. It still doesn't work and I spent those three days fooling around rather than writing my application. You can post the the user form and maybe they will respond and maybe not. Unless you buy the support there is no way to escalate it, which is fair I guess but not very convenient when you can't afford it.
Another way of putting it is to look at their showcase. If what you want to do is there, it will work. For V3 that is the only documentation you are going to get. If you try to do anything the showcase doesn't specifically show, you are on your own.