You can perform GET and POST methods to perform REST API calls.
http://help.exacttarget.com/en/documentation/exacttarget/content/ampscript/ampscript_syntax_guide/http_ampscript_functions/
Create your AMPscript using the functions below and place them in the
content areas of landing pages and email messages. For example, you
can use the URLEncode() function to encode spaces or non-alphanumeric
characters contained in a URL for use by your subscribers.
HTTPGet("http://www.example.com")
There are also methods to update headers if that's needed, as well. Passing data may also cause some difficulty and the issue is if the result is JSON, there isn't a great way to handle it.
Depending on the situation, you would be better off with SSJS, but if this happening during a send, it's best to get the data prior to sending anything. If it's on a landing page - you would be ok.
https://help.exacttarget.com/en-US/documentation/exacttarget/content/server_side_javascript/server_side_javascript_syntax_guide/http_server_side_javascript_functions/
You can use the HTTP server-side JavaScript functions to perform HTTP
GET and HTTP POST actions and use that information as part of your
interactions with the ExactTarget application.
var url = 'http://www.example.com';
var headerNames = ["MyTestHeader1", "MyTestHeader2"];
var headerValues = ["MyTestValue1", "MyTestValue2"];
var response = HTTP.Get(url, headerNames, headerValues);
Webservice specifically refers to a SOAP implementation, and HTTP simply refers to any service that uses the HTTP protocol, the most popular being REST and SOAP.
The difference is the "payload" of the body and some different headers. Both start off with the standard HTTP format:
ACTION PATH VERSION
Header: Value <repeat-as-necessary>
<body>
From there, they differ in how they are used. REST typically uses JSON, while SOAP uses XML with certain required formats.
SOAP is more bandwidth intensive than JSON, but tends to have better support in older software. There is a WSDL format that specifies how the SOAP messages should be formed, leading to quick development times (but, arguably, JSON is just as fast in most cases).
Normally, you'll choose the protocol based on your needs, usually determined by which format your programming language supports and the features you need to access from the service (SOAP and REST may not always offer the same API calls). Use REST when no other factors dictate a choice, and leave SOAP (webservices) if you need to use it.
Best Answer
An HTTP callout is code that you write within Salesforce to (generally) call out to an external API over HTTP.
REST and SOAP are types of APIs.
So, you could make a callout to an external SOAP API or a REST API. Think of doing a callout as wanting to communicate with someone, the protocol (REST or SOAP) is the format of the communication, and HTTP is the method of communicating. If you mix them up it doesn't work, like trying to send a fax to someone's cell phone number. In that example, the phone line is the method (HTTP), the fax is the protocol(SOAP or REST) and making the call is the callout.
Salesforce also has it's own SOAP and REST APIs, but those would generally be used by code ran outside of Salesforce to create/read/update/delete Salesforce data.