I doubt my opinions would be a good reference for a certification exam, but one of the main reasons I've never bothered to acquire certs is that the Real World is generally more complex than the cert world.
I usually don't use straight JSP's these days except for one or two significant exceptions:
1. Login/password failed pages when using form-based authentication
2. Home page for a webapp.
When outputting non-HTML (such as PDF's or graphics), I normally use servlets, although sometimes JSPs are good for XML output. Struts action processors are also good for non-HTML output.
Anything with any sort of dynamic content - whether inbound (forms) or outbound (query/update results) I usually would be using JSF. I've always felt that Struts is probably capable of heavier workloads than JSF, but that's just a feeling not backed by hard measurements, and so far I haven't done anything that JSF couldn't handle.
The reasons for cases 1 and 2 above are as follows:
1. When using container-based authentication, the container hijacks and caches the original HTTP request, presents the login page, and (if successful) then resumes the original request. Because the login page is done out of the mainstream logic flow, it may find it difficult to access the full line of server services, depending on what server the app is running under. Thus, my login pages are minimalistic and don't make unneccesary infrastructure demands.
2. The site lead-in page (Home page, Hello page) is the place where users will go by default. Unlike some people, who think it's perfectly OK to put a Flash app on their lead-in page with all the secondary links done in Flash, I assume the worst of the user's browser. That is, primarily text displays (some of us use non-graphical browsers) and no assumption of support for cookies, JavaScript,
Java applets or other features which might either be either switched off or never installed.
I have a 64-bit machine and Flash-only websites are just one big blank page to my browser. A major auto brand lost a sale to their non-Flash competitor recently.
There's another reason why my hello page is a JSP. As I recall, the hello page in a web.xml is a document, rather than a URL. JSF pages don't have document IDs, only their templates do, and you can't just bring up the template - to work properly you need the JSF context. So some of my sites have a hello JSP that does nothing but redirect to a JSF hello page URL. Such is life.
By the above, you can see I don't have any "silver bullet" rules, though I do have some standards designed to enhance user-friendliness.