First of all, webservices are functions offered by a server to a client application. This means that all the functionality of the webservice is centralised. Which makes it easier to maintain as an update of that server-side software doesn't always require a software roll-out at the client-side.
Secondly, the webservices use the SOAP protocol for communications. This basically means the client application sends XML files (SOAP request) which make up a request, and the webservice replies with another XML (a SOAP response). This means the client software doesn't HAVE to be a .NET application. This is not really an advantage if the only client will be a .NET application, but never be to sure that nothing else will ever use your webservice. So webservices are (somewhat) platform independent, quite in contrast to a managed dll...
Also, using webservices can create a "thinner" client application, as some logic and technology (imagine connecting to an oracle database) can be centralised at the webserver, relieving clients a bit.
They CAN mean a performance decrease though if you ask me. But they have many more advantages than disadvantages imho.