I think that it is probably one of the major reasons, though certainly not the only one. In my experience, one of the most common customer service complaints/requests is "Oh no, I did this irreversible thing you warned me not to, fix it." I imagine facebook also gets its fair share of complaints like "Oh no, my ex-boyfriend deleted my account, fix it." This stuff is really common, and I can understand why a company would rather be able to say "Oh yeah, sure" than "Sorry, for privacy reasons your online life for the past two years has been lost irretrievably."
I'm sure you're right, and not necessarily in any insidious manner. There's any number of entities that we won't actually purge when deleted from our system here. For example, when a sales rep wants to get rid of a Quote, we can't necessarily dump it, because we'll need a future record if there has already been a customer order placed against that quote. Sometimes the integrity of the system, and the ability to look at history in a (unfortunately necessary) CYA view, demands that some data be "deactivated" rather than deleted.