Sometimes nerds sneak in unexpected features to the things they create. I’m not talking about easter-eggs but features they believe will be of value to the product’s users. This is a bad thing to do which is often a surprise to the offending nerds. Its good to be proactive and to offer additional low-cost features to customers but adding them without checking first is imprudent.
Most of the time the nerd who inserts the unexpected feature isn’t the customer (or the customer’s representative). So why is it okay to spend someone else’s money on something they might not want? Maybe they would have wanted something else instead. Maybe they would have preferred the software to cost a bit less.
There is also an additional cost for every feature exposed to those who use software. Someone needs to explain the feature, it needs to be tested, maintained, and so on. So even if the feature truly didn’t cost anything to implement (say it was autogenerated by an existing application framework) then someone’s money has still been spent without checking first.
On large projects I have seen a developer add features that end up contradicting the design of other parts of the application. It can be hard to see the big picture while down in the trenches.