We manage our own dists. We package our own software as .debs, so everything gets managed the same way. All security updates, release deployments, rollbacks, etc., are managed with apt-get. I don't exactly understand pinning, but it's also important to how we manage packages. Depending on the release and the kind of server we're deploying to, we may do them all in one night or in batches of a few hundred over a week.…
This is the one thing I hate about apt vs tools like rubygems; the workarounds for this missing functionality are heinous.