1- Struts2 is a web framework based on successful Struts framework. But it is not only next version of struts. It is next generation of Struts. It has lots of useful ideas and tools for web developing like custom tags, interceptors, ...
The main difference between JSF and Struts2 (and also Struts) is that JSF is component based. Instead of dealing with <s:if test="..."> you have components in your hand: <f:view ...> and so forth.
JSF is much like ASP.NET Web Forms.
In my opinion, JSF is better than Struts2, but if you and/or your team is familiar with Struts or WebWork, starting with Struts2 is dimpler.
To understand the differnces between these two frameworks, I strongly recommend you to build two basic projects with AppFuse, one with JSF and one with Struts2 and then compare them.Â
 2- Interceptors are some kind of layers or filters. Your request and response is qoing between interceptors and each interceptor can do its job on request and response. Struts has some default interceptors and you can write custom interceptors if you need.