I think the book has more step-by-step examples than the competition. The idea behind the book is to get you started with the framework features with as little pain as possible. As regards to JSF, I don't think JSF replaces Struts. I think the two of them play well together. Time will tell. There is overlap, and where there is overlap, I think JSF will win out, eventually. The verdict is still out. It may be 6 months to a year to see JSF adoption. JSF seems to need a lot of IDE support in order for the developer to be productive with it. My company just developed a JSF course. I am not betting against it that is for sure. I just checked dice.... there are lots of jobs for JSF as long as you want to work on the joint strike fighter. If you want to do Java server faces, not so much.... There are 524 Struts jobs. Give JSF time. It will take off.
Nah.... I think there are probably better designed frameworks, but probably not as widely used and supported. Struts seems to be fairly flexible and extensible as well. If I were starting a new project, I would at least consider WebWork2, Spring MVC, and Tapestry. I currently stick with Struts + Spring (IOC + AOP ++) + Hibernate (OR Mapping). If you were going to look into one framework this year (besides Struts), and only one. I would tell you to look into Spring.... it is powerful. I think my next new project will either be Struts + JSF (plus Hibernate and Spring) or Tapestry (plus Hibernate and Spring).
My main focus is Struts, Hibernate and Spring consulting. (This is what folks hire me for....).