I'd say it depends on the game.
For shooters, I'd say they should have a difficulty setting just because the gameplay can get more difficult for a better challenge, and you feel rewarded when you defeat that challenge.
For puzzle games, the game itself is just a difficulty setting with early levels being set to "easiest" and later levels being set to "hard/hardest". How the game actually manages that difficulty curve usually determines how well the game does as a whole.
An example of a game that should have a difficulty setting, would be a Zelda game. Skyward Sword technically has a "hardmode" because all enemies do double damage (and some other things, but I can't recall what atm). For a game like Zelda, just making everything do double damage is challenge enough. If there was a mode beyond that, say you couldn't repair your shield when it broke or grass/enemies never dropped hearts, then that shit would get intense.
An example of a game that should not have a difficulty setting, would be Kingdom Under Fire: Heroes. The game itself creates a difficulty setting, with certain campaigns and levels being harder than others (like Urukubar's campaign being ridiculously hard). If I could replay a campaign in a harder mode, the campaigns would have to be longer, experience caps raised, and overall it would be completely silly. Urukubar's campaign would be even more impossible too =|
It is easy to say "yes, every game needs a difficulty setting", but it is not always viable to just add one in. Enemy damage, AI smart-ness, map design, tools at your disposal, would all need to be addressed. For games like Starcraft or Fire Emblem, that would just be easy "ok, just add more of everything and give the player less". But for games like Portal or Kingdom Under Fire: Heroes, adding a difficulty curve may accidentally the whole game.
For shooters, I'd say they should have a difficulty setting just because the gameplay can get more difficult for a better challenge, and you feel rewarded when you defeat that challenge.
For puzzle games, the game itself is just a difficulty setting with early levels being set to "easiest" and later levels being set to "hard/hardest". How the game actually manages that difficulty curve usually determines how well the game does as a whole.
An example of a game that should have a difficulty setting, would be a Zelda game. Skyward Sword technically has a "hardmode" because all enemies do double damage (and some other things, but I can't recall what atm). For a game like Zelda, just making everything do double damage is challenge enough. If there was a mode beyond that, say you couldn't repair your shield when it broke or grass/enemies never dropped hearts, then that shit would get intense.
An example of a game that should not have a difficulty setting, would be Kingdom Under Fire: Heroes. The game itself creates a difficulty setting, with certain campaigns and levels being harder than others (like Urukubar's campaign being ridiculously hard). If I could replay a campaign in a harder mode, the campaigns would have to be longer, experience caps raised, and overall it would be completely silly. Urukubar's campaign would be even more impossible too =|
It is easy to say "yes, every game needs a difficulty setting", but it is not always viable to just add one in. Enemy damage, AI smart-ness, map design, tools at your disposal, would all need to be addressed. For games like Starcraft or Fire Emblem, that would just be easy "ok, just add more of everything and give the player less". But for games like Portal or Kingdom Under Fire: Heroes, adding a difficulty curve may accidentally the whole game.