Dear,
It totally depends upon the requirements or the complexities of the current application.
As far as my experience, i can tell you some points that may help you to make decision.
Java Server Faces:
its a good framework. it has cool components. and will help you to build rapidly. But if you got stuck then let me clearly tell you that Java Server Faces do not have much help on line. so sometimes little problems takes much time to solve.
Rich faces, Ice Faces:
They are third party libraries based on Java Server Faces. so they have same pros and cons as per Java Server Faces.
adobe flex:
Its very fine and good option. in fact i am also coding in it now a days

but the thing i have observed is because it depends upon the Flash Players so some time it works fine on a browser but fails on the other.
So Brother, Its up to you. Final decision is yours.
Regards,