One method of continuous deployment is to decouple deployment from release, i.e. deploy updates without activating the changes immediately.

I know that [feature-toggles](/questions/tagged/feature-toggles "show questions tagged 'feature-toggles'") can be used for this, but I'm wondering if there are other techniques for "non-features".

For example, would you build a feature toggle for a bugfix? Probably not and one could argue that bugfixes should be deployed as soon as possible, because it can only get better. And after a bugfix has been released, I sure don't want to toggle it off anymore.
But is this the case? It might be a risky change that you want to release in a controlled way. And if there *are* unexpected side effects, it's good to be able to roll it back. So, feature flags for every change?

And what about visual changes? For example, can you implement something like a feature flag in CSS? Does it even make sense?