I don't know enough about Bitcoin to say if it's efficient but i'm aware that transactions can move around the network without much effort, which is nice. But there's big downsides to the transparency of transactions there vs cash or credit, not to mention having your "wallet" stolen vs more traditional credit systems that are more durable for general global commerce.
Both of those things are useful. They're just not as efficient or reliable as a centralized service can be. Centralized services & communication have their own problems, but generally speaking the bigger they are the more robust they are, which is often the opposite in truly distributed systems.
Facebook's solution is similarly customized and optimized to take advantage of their network control/topology. The clients are given a preference for closer (same rack/node) sources.
[1] https://blog.twitter.com/2010/murder-fast-datacenter-code-de...
[2] http://arstechnica.com/business/2012/04/exclusive-a-behind-t...
The long answer would have me explaining all of the different use cases of both decentralized and centralized services and a comparison for each. For example, compare bulk file transfer to a domain name service in truly decentralized networks. Keeping domain names requires massive coordination of peers over a gigantic index which can't have conflicts. Bulk file transfer is almost the opposite, as few people have the records (torrent) and the task is mainly in distributing the index (the file). Both are simpler, more efficient, and more reliable if you take out the middle-man of trying to coordinate with more than one peer.
http://www.imd.uni-rostock.de/veroeff/ImprovedBitTorrent_Dan...
I don't know what BitTorrent you're using, but most everything i torrent downloads way faster than it would from a centralized server (iTunes, MegaUpload, etc.)