To Dave Winer, who's having problems understanding the motivation for WSDL:
WSDL is to Web Services as IDL is to CORBA and TypeLibs (.tlb files) are to COM and AETEs are to AppleEvents. They describe the interfaces that are available from the service.
These are useful for a lot of reasons, one being that modern development environments (such as MS Visual Studio) can parse these files and offer very very useful context-sensitive information while the developer is coding.
While you're typing in the name of an exposed method the names and types of its parameters pop up where you're typing in the editor... you can hit a key to have it finish the name of a method (akin to command completion in some UNIX shells like tcsh), and do real-time syntax checking. For a developer using a fancy dev environment, this can improve performance dramatically.
You can create an "object browser" type of GUI that lets you see what commands are available, and make it easy to set up calls to those commands.
Lots of good reasons, that's just a couple.