java2wsdl: The benefit is that you don't need to understand WSDL in order to deploy a web service. The downside is that the generated WSDL may be less than optimal in terms of interoperability, for example. wsdl2java: The benefits and downsides are the same as for java2wsdl, really.
For the most part if you stick to the restriction enumerated in the WS-I Basic Profile 1.0a with regard to the generated WSDL, or the source WSDL, you should be fine. A while back most wonks recommended always starting with WSDL, because that was the easiest way to get interoperability. That's still true to some extent, but the javaToWsdl tools are better now so you can pretty much go either way. Just make sure you examine the generated WSDL to make sure that it complies with the WS-I BP. This will require that you understand WSDL - but that's the expectation for anyone who is taking the test.
The WSDL to Java approach is the more powerful of the two approaches, but
it does require more of the developer. In particular, a developer must have more knowledge of WSDL and WS-I interoperability requirements. As a result, this approach is more difficult for a developer to use correctly and the potential for interoperability failure is much greater.Chapter 6 explains where this approach makes sense.
The Java to WSDL approach is easier for developers to use. If the proper tools are used, this approach almost always guarantees interoperability. However, its ease of use and guaranteed interoperability comes with the cost of less flexibility.