I'm not sure that this is the best forum to ask that question in, but you were specifically interested in JSF hosting, so...
First of all, determine your limits in terms of money, time, and expertise. How much downtime can you afford relative to what the hosting service guarantees? How much of the low-level administration do you want to do, as opposed to paying them to do it. That means things like installing and maintaining system software, doing backups, maintaining offsite backup storage, hotsite facilities in case of natural or other disasters, and stuff like that.
Some HSPs provide a complete infrastructure, including one or more enterprise-class DBMS's such as Oracle. Some will even provide the application server. At the other extreme you might simply buy a blank virtual machine and what you put in it is entirely your business.
Not all hosts are equal - some are Microsoft-only, some are Unix-only, and in some cases the resources you buy won't support Enterprise
Java. I can host a LAMP site on just about any old box in my collection - and I've got some pretty old boxes doing just that.
Tomcat, however, is more demanding, and a full-stack
JEE server is hungrier still.