JSF navigation is used when a JSF view has fired off an action and the action then wishes to tell JSF what JSF view to present as a response. Which in and of itself isn't actually a "redirect".
Navigation only applies to JSF views, however, so if you want the response to be rendered from non-JSF resources such as
servlets, JSPs, or even plain old HTML, you will have to do a true redirect. There's no simple JSF method for that, so you have to do it the hard way: get the FacesContext, use it to obtain the raw
J2EE components, then do a traditional redirect using them.
More commonly, I present a JSF response view that contains a link that references whatever non-JSF function I need, since usually I'm doing something that includes user interaction in the process.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.