Here's the thing. It's REALLY hard to do a good ending. For anything, actually. There's a series of thin lines between what constitutes a good ending, and what constitutes cliched, outright bad, nonsensical, etc. Furthermore, I think it's especially hard in videogames because they are games. Thinking about the very definition of the word 'game', it's something you do for fun or entertainment. Videogames shouldn't necessarily be like books or movies, where you expect a satisfactory conclusion. Most game companies have to look ahead to the future and will leave either plot holes or an outright cliffhanger (Halo 2) to make you want to play the sequel.
In fact, let's take Halo 2. By all accounts, it's a better game than the first. But the kind of ending it employs could only work for the second game in the series because the first game had been successful, and while developing the second they pretty much knew it was going to be a franchise and they'd make at least one more sequel. Hence, you can't have a wrap-it-up ending.