fb 4.x
Getting Started: Creating an Application and Connecting it With Drupal For Facebook
The 4x version of Drupal for Facebook is a complete rewrite and the code is nearing a release.
The Drupal for Facebook module core modules do not use the Facebook SDK, instead, it relies on the Facebook HTTP protocol for the Graph API version 2.1, which is the best supported of the Facebook APIs. This is because the Facebook JS SDK adds a tracking cookie that sends information back to Facebook about user activity on your site. (source?)
The Facebook HTTP protocol allows you to get and set Facebook data using GET or POST requests that have long access tokens attached to them. These access tokens are generated by either users or applications, which ultimately use user credentials. This way of interacting with Facebook is more stable than the older, deprecated APIs, and while the code is in development, the 4x version reflects this stability.
To see what's available, and to use temporary, hour-long tokens, check out the invaluable Facebook Graph API Explorer. This explorer will get you started with custom queries and their structures and will give you an intuitive grasp for what Drupal for Facebook is up to.
Using Drupal for Facebook
In order to use any of the contributed modules or access the Graph API, you have to connect your application to Drupal for Facebook. Nothing can happen without an application. The word "application" here is confusing, because of all the little Facebook "apps" one sees in the sidebars of one's Facebook account.
A Facebook application is not an "app" from your Facebook sidebar as the layperson thinks of it, it's instead an interface on the Facebook site that gives and gets information from Facebook. But each of the "apps" from your sidebar would require an application or interface in order to function and so these as well as website applications are called "apps." One can request data from an application it and push data to it, and the application manages permissions and access tokens that a user has granted it. Think of application as an interface rather than a box in your sidebar.
Start at /admin/config/fb/settings/app. You can see if you've added an application and if not, you can add one:

If you don't know how, here's a great tutorial on creating a facebook application for websites. If you're planning to build a complicated Facebook module and want to develop on localhost, you'll want to check out this tutorial.
Configure your app here:

To configure your app to post to Facebook on your behalf, you'll need to grant it access to a page on which you're an admin here: /admin/config/fb/settings/token
Page here:

Tokens are needed to access the data that you're asking Facebook for. In order to post or get data, your app has to present a token that was generated by somebody with the appropriate access.
After you "generate a new token" you'll be presented with a list of Pages that you manage. Select a Page.
Now your site will be granted the access to post to that page. Specifically, the "manage_pages" permission which can be seen on the API Explorer like so:

In order to enable Post to Facebook, you'll need to enable and configure that module, which will be covered in the next tutorial.
What do the Facebook Modules do?
Drupal for Facebook
Integration with Facebook Platform APIs. Manages access tokens and apps and provides a central API for contrib modules.
Facebook Connect
Facebook Connect adds a block that allows users to connect even anonymous users to connect their site to Facebook. This module doesn't do anything for sitebuilders in and of itself, it's a development tool used to make the link between anonymous users and Facebook accounts.
Facebook User Accounts
Associate local Drupal accounts with Facebook users. This allows users to log in via Facebook.
Open Graph and Timeline
Add Open Graph (link is external) metadata to node pages, and Timeline helper functions.
Post to Facebook
Publish content to Facebook, with links back to this site. Allows user and pages to "promote to facebook" from the node edit interface to send node teasers to Facebook.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion