What is the purpose of web services?
Allow easy consumption of services using web technologies? I mean, you can potentially write your application in order to do what the browser does (how many stackoverflow apps have been done in the past)
Problems:
it is much more complicated than using the API
Since there is no API, changes to the website will crash the application (while the responsible API will allow you to use the old version)
I do not mean all web services web applications?
It's my pleasure. A web application is a special application intended for use by a web browser (Firefox, Chrome, etc.), while a web service is intended for use by another application.
You can use the web service in almost any programming language.
Also, why do people create web services APIs? Does this allow the developer to use the functions of the site? sort of like facebook and youtube?
Not the functionality of the website, but allows them to create their own applications that use some of the functionality of this website.
For example, YouTube allows you to upload videos using the API, otherwise you will have to "simulate" the publication of HTTP, which can be problematic.
Thus, some tools offer the ability to "upload" your video directly from the application.
Is it possible to make an API for a web service where you can use C ++ or VB to use functions?
That is the point, among other programming languages.
therefore, can someone make a desktop application based on the API of your web application?
Exactly!!!
Here is an example Object-C application that I use for Twitter ( tweetie http://www.atebits.com/tweetie-mac/ )

(source: cachefly.net )
How do you create a web service API and a web service? *
This is not much different than creating an API for the internal work / product / library.
You must determine what you intend to offer (your public interface, your services)
Create a list of input / output parameters and exchange formats (XML, json, text / plain, YAML, etc.)
And finally, provide an endpoint on the Internet (or why not an intranet)
Web services are more difficult to manage than regular APIs, you need to check security problems, workload, etc.
To see the working API, refer to the mentioned Nathan here.