In traditional web application development, we have to manage UI flows programmatically, so these flows are hard to maintain. Spring Web Flow offers a flow definition language that can help separate UI flows from presentation logic in a highly configurable way, so the flows can be easily changed and reused.
I do not know Spring Web flow. But what I know about it is meant for making things easier for a developer when he/she is dealing with a flow of pages like user move from one page to another for specific goal. Struts do not provide you anything for special when you do coding for set of pages which will are considered as a group of pages for flow. This is what my concept of Spring Web flow. But I am not very sure about it.
"Spring Web Flow is the module of Spring for implementing flows. The Web Flow engine plugs into the Spring Web MVC platform and provides declarative flow definition language." (from the reference documentation)
Spring Web Flow is a optimal addition to Spring MVC, but it can't replace a controller framework.