I'm working on Facebook and Twitter and the latter just seems generally nastier (ill documented, ambiguous, not based on a simple graph...). A lot of Facebook the Facebook API is pretty good - well documented, clear and simple. And however bad Oauth 2.0 might be, Oauth 1.1 is worse. Oauth 1.1 is pathologically irrational.
And Facebook is only, ONLY directly responsible for THE API ITSELF. If they've maintained some Java or Python stuff, that's right nice of them but it's not their main job. If you are complaining about particular SDKs offered by Facebook, you aren't complaining about "The Facebook Platform", you're just complaining. When they change the interface (as they've done several times), then complain.
I think the site's motto probably explains things better "Of course it sucks, it's made of software".