A Web Service is programmable application logic accessible via standard Web protocols. One of these Web protocols is the Simple Object Access Protocol (SOAP)
Consumers of a Web Service do not need to know anything about the platform, object model, or programming language used to implement the service; they only need to understand how to send and receive SOAP messages
Actually Web services provides the ability to exchange business logic/components among diverse systems over web.
Assume that you have a requirement of using a business logic, say for example, income tax calculation in a web application and a desktop application.
Assume that web application is developed using Java and the desktop application is developed using WinForms with C#.
In this scenario, you may need to write code for java and C# separately. It increase the efforts and time.
If you implement income tax calculation as a web service and deploy it over web, both java and C# applications can consume the same service.
The web service can be written using a development platform such as C#, Java etc.
The application which consumes a web service need not be written in the same platform. For example, if you create web service using C#, it can be consumed by other applications written using Java, PHP.
Web services are base for software deployment models such as Saas, SOA and cloud computing.