Because you've registered this information, Facebook will only allow your app to perform actions if it not only has the correct API key but also matches the registered details. I suppose this means that if someone decompiles your app and steals your key they can't perform actions pretending to be you.
*edit I mean it's not true that the attacker can't impersonate your app. Your description of how it works looks right on to me. :)
https://github.com/facebook/facebook-android-sdk/blob/master...
The process is described here: https://developers.facebook.com/docs/android/getting-started...
The Facebook app for Android is closed source; however, the Facebook Android SDK seems to verify requests from the Facebook app in a similar way: https://github.com/facebook/facebook-android-sdk/blob/master...
I imagine that it works like that the other way around as well: Check whether the code signature of the Intent's sender matches the app developer certificate.
[1] http://www.cs.columbia.edu/~nieh/pubs/sigmetrics2014_playdro...