The generated Apex classes require code coverage, which needs to be created manually
You need to import the entire WSDL. In many cases you may only require a subset of the web methods.Reducing the number of methods cuts down the lines of Apex (a limited resource) that are generated and subsequently the number of lines requiring code coverage
Support for complex types that extend a base type.
Support for importing another WSDL.
Support for attributes.
The ordering of the generated methods appears to be arbitrary (maybe hash based ordering internally?). At the very least, a small change in the input WSDL can produce Apex that doesn't diff very well. This can be a pain with source control and tracking the history of changes
Conflicts between named WSDL elements and reserved keywords in Apex. E.g. long