you can do anything with spring MVC,web flow often use to reduce flow base code such shopping car ,for example If you want implement shopping cart you have to write controller code for each step,even if you are not using database ,that take too long time to get parameters and path again to view response and hold them in DOM ,Web flow help you to keep this information
until flow going to be finish,
But in spring ,Java server face is base on web flow.
Web Flow can not replace in all manner with MVC, for some reason:
1-MVC architecture helps isolate between html designer and java developer ,in web flow you can not do this!
2-In MVC you can make layers such database layer, business layer,service layer in simple way ,It reduce complexity of program ,and reuse again in other controllers injecting same service trigger, in Web flow ,trigger depend on flow step,you can use it again but in less functionality,for example you can not inject controller from controller.
3-Ajax in spring 3 has killer usage,I prefer Jquery response body over JSF ajax usage