Here's a few things we learned working with OAuth and Connected Apps.
Connected Apps allow non-Salesforce apps to do stuff on behalf of a Salesforce user. For example:
- Send your user information to another system with a single click.
- Allow another system to send information into your Salesforce API.
Typically they authorize how to "borrow" a Session ID under tight controls.