Fun is a bad word to use, because it means different things to different people.
Like grinding. WoW and jRPGs would suggest that some people love grinding. They love to fight the same enemy again and again for the most meaningless of stat boosts. Other people don't have an attention span, so they buy CoD (kidding! kidding!)
I might sit down to enjoy a nice Tolstoy with a glass of brandy and a fine leather reading chair. Others may sit down in front of the television with a brew and half read Nuts out of the corner of their eye during the commercial breaks. Both are 'fun' but fun in different ways to different people.
Perhaps 'engaging' should be the word. I can engage with Metal Gear Solid, its storyline is deep and complex (some would say needlessly so, but whatever) it has reasonably efficient controls, as long as you play it enough for them to become intuitive, and despite frequent jokes about its length it's not until MGS4 that it gets in the way. I may not like Call of Duty, but I can admit that its frenetic 'DO STUFF! NOW! NOT THAT STUFF THIS STUFF! WATCH OUT YOU'RE DEAD BUT IT'S ALRIGHT BECAUSE YOU'LL BE ALIVE AGAIN IN A MINUTE!' pacing does engage, if not enthrall.
Games that I consider bad are games that didn't engage me once. Games where I would rather have been doing nothing than playing the game. Off hand I can't think of any examples, but I know that they are out there. Games don't have to be fun, but to be considered seriously they need to engage.
Oh, and the developers need to decide on one ending and then stick with it instead of caving to peer pressure.