I got two applications which are now both using the REST approach. I find the Salesforce documentation very useful.
Remote Access
Create the consumer key, secret and set the callback under Setup -> App Setup -> Develop -> Remote Access
Callback
The callback handling is part of OAuth protocol - find an explanation here: OAuth Callback Domains explained It simply needs to return a valid page - it is a security feature validating the domain
More on OAuth Authorisation
See OAuth Quickstart
Alternative: Session ID Authorization for SOAP
Explained at the bottom of the page OAuth Quickstart
Using higher level libs
It is worth investigating if your chosen target environment has a higher level library available that covers some of the lower level aspects of communicating with the API. I am for example using a Ruby gem on top of the API - less work handling some of the API aspects.
Also useful
Salesforce APIs – What They Are & When to Use Them
SOAP
I got an older application running on SOAP - does only require password and security token.
No need to create a Remote Application if you are going to use that approach.
REST
Does require OAuth authentication "Before making REST API calls, you must authenticate the user using OAuth 2.0" ... hence you need to create a Remote Application to generate consumer key and secret
Enjoy your adventure with the Salesforce API
- Eugen