If you're a programmer or designer, we know you love new features. The problem is that not everyone loves new features as much as you do. It's important to give the end user control over such features, so they can use them at their own discretion.
Take, for example, my 2-year old iPod Nano:
Not actually my iPod Nano
The Nano has a built-in feature that pauses audio playback if the headphones are unexpectedly ripped out of the headphone jack. All fine and dandy, except for some reason my iPod likes to think the adapter in my car pulls out the plug several times per minute. As such, I'll be driving along and the iPod will suddenly pause. I'll press play, and a few second later it will pause again. Repeat until the limit approaches insanity.
Now, the situation wouldn't be so bad if I could simply turn off this feature. But I can't. There is no way whatsoever to turn off the auto pause. The fact that I have no control over this feature is more rage inducing than the disfunctionality of the feature itself. Even though this only happens when I drive, one simple On/Off option in the settings menu would alleviate all of this trouble.
So take a lesson from Apple's failure. Give your users control over your devices and applications by making new features optional.