The REST API is fairly new and not as feature laden as Classic. I still recommend Classic as there's nothing wrong or obsolete with it. PayPal wanted to run with the cool kids like Facebook and so they made an oauth API (I suspect it was easier for mobile but you can just as easily implement another API as well.).
Classic NVP (Name Value Pairs) is easy to understand and one of the best documented I've worked with. Your calls are all query strings you POST to the API endpoint.
METHOD=DoDirectPayment&AMT=1.00&EXPDATE=012015
I would not go the SOAP route unless you sleep under a blanket with WSDL printed on it. SOAP is just a pain to understand and work with.
Classic supports several calls REST still does not (MassPay, Buttons API, most Adaptive calls, etc). I expect PayPal will catch up eventually but, for now, Classic is the only option there for some features.
As to all the calls out there
- DoDirectPayment - Directly process a credit card. Requires a subscription to Payments Pro to use but is a full featured card processing system
- Express Checkout - Free to use. Allows you to accept PayPal accounts as a form of payment. Basically you call the API, get a token, redirect the user, they log in, PayPal redirects to you and then you use the token to get paid.
- Adaptive Payments - This is where you can do some interesting things to make creative payment systems. Say you have a third party you run cards for but you want a cut of their sales. Chained Payments do that.
The largest difference in the HTML Payments Standard solution and the API is that with the API you have to be PCI compliant. Mostly that means you don't log sensitive data (like CVV2), have security on your site and you have an SSL certificate but there could be other requirements placed on you down the road. The upside is you have complete control over the process. Payments Standard affords you no control but you have no PCI compliance either.