I use Spring to provide persistence services for JPA. I also use it to wire in specialized components such as emailers, allowing me to swap out for test modules without having to change program code.
JSF can automatically construct and wire UI-related objects. Spring can do the same for the non-UI objects. By joining the two, you can take a lot of the "grunt work" out of application development and maintenance.
An IDE is no substitute for an Intelligent Developer.