I play games to have fun, as (I presume) do most people, a frustrating game is not fun, plain and simple. The sense of achievement that comes from beating a Megaman game is great, but it's worth remembering that that feeling lasts about half an hour whereas you probably spent at least four hours hating yourself for not making that jump for the fiftieth time.
Having to play a game on Easy in order to have fun is an indicator of poor workmanship on the part of the developers, as is having to play on Hard.
If I am expected to enjoy a game it should be accessible in the beginning, challenging at the end, and have a higher difficulty to encourage replay. Ideally a game should have a ranking system for multiplayer based on the stats attained during matches, so noobs aren't driven off by the no-lifers who play 24/7.
Best example of this that I can find is actually Mariokart, it's fun, it has higher levels which add speed and item power for the more hardcore gamer, but does not make you feel obligated to play the higher difficulties if you are not inclined to, and you are placed alongside people of a similar skill-level in multiplayer.