Static stubs are the defacto standard because mostly the web service being called is assumed to be pretty static and it's easy to generate the stubs from a WSDL in any modern
IDE. Further benefits are that the static nature makes for better performance (although the difference may be insignificant in many cases).
I'm still a bit unclear as to the differences between DII and dynamic proxies. Both allow you to decide at runtime where the service endpoint is located etc. I think I've seen a document at IBM developerWorks which explained the differences but I don't have it bookmarked.