At our last company, we developed a tool, in 2003, that made it very simple to put images onto payment cards. The software ran in Flash and was extremely straight-forward.
Over the next near-decade, we continually innovated and came up with new ideas around how to improve the experience. We also worked closely with our clients (banks) to create a unique experience for their customers that fitted their brand. We learned a vast amount on the back-end and we became the go-to company globally.
It was only at the end of the day, when we finally exited, that I realised the consumer interface of our core product (other than now being in HTML5) was pretty much the same as the version I had screen-shot when Tom first created a demo.
My point is that sometimes, its better not to add features, sometimes, less is just better.
The most common cause of feature creep is the desire to provide the consumer with a more useful or desirable product, in order to increase sales or distribution. However, once the product reaches the point at which it does everything that it is designed to do, the manufacturer is left with the choice of adding unneeded functions, sometimes at the cost of efficiency, or sticking with the old version, at the cost of a perceived lack of improvement. Another major cause of feature creep might be a compromise from a committee which decides to implement multiple, different viewpoints in the same product.