Jason Fried on adding new features in products
This sort of one-upping, Cold War mentality is a dead end. When you get suckered into an arms race, you wind up in a never-ending battle that costs you massive amounts of money, time, and drive. And it forces you to constantly be on the defensive, too. Defensive companies can't think ahead; they can only think behind. They don't lead; they follow.
So what do you do instead? Do less than your competitors to beat them. Solve the simple problems and leave the hairy, difficult,nasty problems to the competition. Instead of one-upping, try one-downing. Instead of outdoing, try under doing.
For the most part I agree with what Jason says. I like to solve simple problems and solve them well. I don't like to participate in the "arms race" of features as he says. But I don't focus explicitly on doing less. I like to focus on creating a unique experience for my product more than anything else.
In this regard I think that we can learn a lot from video game developers. Mega man is a very good example of how a game can control the behavior of the player. On boot there are 9 stages in the game that you can complete in any order. However competing certain stages first will grant you abilities that can make other stages a lot easier than when you try to attempt them without it.
Naturally when players discovers that the stage which they spent hours retrying could be completed in minutes, if they beat that other stage first, they would do that. This was a very clever way of manipulating the user behavior. By making the goals harder to achieve one way and easier the other, the developers dictated the way the players played their game.
I like to think of features as a way to manipulate the users' behavior. When developing a product I have a certain idea in mind of how I want my product to be used. If adding a feature aids in my cause then I will add that feature.