The World Web Web Consortium (W3C) defines a web serves as:
A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.
A web service is simply two computers or gadgets are talking to each other over the web and that the two devices are transferring data between each other. Services are helpful when you want an web-based or native application to be able to talk to another app. Hulu and Netflix are good examples of online services with web based and native application. You can begin watching a movie Netflix on your computer/tv and then switch to another device like your smartphone netflix app or PS3/Xbox and it will allow you to keep watching where you left off. This works because your preferences and viewing information are stored in the cloud and each of your devices talk to the same Netflix web service to pull the information.
There are two types of web services, Big Web Services and RESTful Services
Big Web Services
Big Web Services has been around longer than RESTful Web Services. It uses the Simple Object Access Protocol (SOAP) to grant access to and transmit data. Because it uses SOAP, Big Web Services rely heavily on rigid XML. The XML requires that a formal contract be defined for the web service to function. These rules are defined in a Web Services Description Language (WSDL). Big Web services is popular among large enterprise companies because it offers a lot of options and flexibility for large scale applications. However, due to the flexibility Big Web Services it can easily become very complex and heavy which is how light-weight RESTful services came to be.
RESTful Web Services
Representational State Transfer services came after Big Web Services and is meant to overcome some of Big Web Services weaknesses. RESTful web services are more lightweight and are easier to create and integrate into web traffic. The requirements for RESTful web services to function are less rigid as they usually do not require a formal contract or XML to work. The best conditions for a RESTful web service to work are when the web services are completely stateless, when data can be cached (non dynamically generated data), when bandwidth needs to be limited (think mobile devices), and they are useful for integrating into existing services. Companies that use RESful services include Google maps and cachable map tiles, the yahoo API, and many web 2.0 APi's like OpenSocial.
RESTful vs Big
RESTful services is the newer of the two but that does not mean it is necessarily better. While RESTful services are easier and faster to develop because they use common standards and do not require a niche set of development tools, Big Web Services are still preferred for the enterprise. Big Web Services still has the advantage when large amounts of data need to be handled and manipulated often. As RESTful web services becomes more robust and mature we may see a shift away from the strict standards of Big Web Services to more flexible REStful services. Another reason large enterprises still use Big Web Services is because... they are enterprises... and changing all of their web services would be a massive undertaking.