The fact is CD needs a lot of resources - and not everybody has them
Continuos Delivery is nice but requires a lot of resources. You need people writing a of tests tests and delivery scripts, and mantaining them. You need developers to add a lot of test hooks inside the code - and keep software deliverable at each commit.
You need a lot of tools, make them talk to each other, and mantain all that stuff. You need an infrastructure to simulate your environment, and although virtualization now helps a lot, it may be expensive anyway.
It's not practical all the time, nor needed. Facebook can add small improvements because it is basically a very simple application, it becomes complex due to the sheer number of users, but there are application with just a a few users but performing very complex tasks. These one in a development cycle may enter states where it's very difficult to mantain them "deliverable" because changes may be complex as well and not be completed in a single iteration. Like everything, adopt what suits you, not what is fashionable.