I'll point to another 2: (AFAIK, I don't have too much experience with Struts) 1) JSF lifecycle is not tied to the request-response cycle 2) You can map screen components to individual beans, in Struts you have to map to the Form class.
To be precise, the #1 advantage of JSF over Struts is that it takes something like 5 Struts source files to do what JSF can do in 2, and the JSF source files are simpler - few special functions, no magic classes to extend or interfaces to implement.
It's also more of a "pure" MVC architecture than Struts, although true MVC is architecturally impossible under HTTP. Not that purity is in and of itself a virtue, but it does make it easier to understand what's supposed to be going on.
An IDE is no substitute for an Intelligent Developer.