I don't mean to be vague, but I'm skeptical of the idea of releasing code that is intentionally turned off, and I've not been able to find any good sources relating to the subject. This may truly be a "it depends" question, in which case please feel free to down vote and remove.

My specific context is a web app that we host ourselves, with bi-weekly "releases" (push to production). Also, we currently use Subversion, though there's a push to move to Git in the near future.

One scenario I've heard is deploying a feature that is dependent upon a library with a known feature that hasn't been released yet, whether your own library, or a 3rd party's. 

Another is releasing portions of a feature as they are finished, but disabled until all the pieces are together in production.

While both of these at first sounded good, I'm questioning the value of code living in production that is disabled, especially as a general practice. It seems like this could lead to unfinished features cluttering the code base, as well as leading to larger configuration files than are needed, just to provide means for disabling/enabling features.

What, if any, are the benefits of deploying intentionally disabled code, and what concerns need to be addressed before we do this with any sort of frequency?

Also, please share any links, and tell me if this practice has a name.
['https://Stackoverflow.com/questions/11641563', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/95546/']
It is called [feature toggles](http://martinfowler.com/bliki/FeatureToggle.html)

I'd argue that it is no more risky that enabling/disabling features using role-based-authorizations. Your concerns regarding code clutter and increased configurations are valid but advocates of continuous delivery would argue that the alternatives (feature branches) are worse.
The primary basis for doing this I've seen is to separate code pushes from configuration pushes. It's easier to determine whether you have a bad release or bad configuration if you can separate them. You can push a release with incomplete feature X off by default, continue to push releases that can be rolled back without enabling it, then when you decide to turn it on, you can update your config which can also be rolled back if needed.