I am in the process of researching/comparing CXF and Spring-WS for web services? I need to function both as a provider and a consumer of WS. In a nutshell, I have been told that Spring-WS is more configurable, but CXF is easier to get up and running. This question is subjective, but will help direct me in my research.
I think the biggest difference is Spring-WS is only 'contract-first' whilst I believe CXF is normally 'contract-last'.
http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html
Contract-last starts with Java code, so it is usually easier to get started with.
However, the WSDL it creates tends to be more fragile.