Dishonored is a better game because it is much more subtle. It has multiple endings that are influenced by actions you take through out the game. While it seems to have two endings, those endings are altered into a much wider variety of variations.
But what impressed me most about Dishonored is that missions change with each playthrough. Certain missions like the assassination at the party have their clues and targets randomly assigned each playthrough - so they never play out the same twice.
As for the ending - the quality of a game is not a mathematics undertaking. Even if only 1% of the game is bad, it depends on what that 1% is.
To put it this way... if you make a cake and 1% of it contains a toxic poison... it's still a ruined cake. The same goes for a story. If the ending of the story makes no sense and is poorly executed... that's what you take away from the experience. Forget the 99% of the game you enjoyed... it will be that sour experience that you remember most. And if all the rest is truly incredible, it makes that ending all the more sour because you *know* that the ending could have been better.
That's the situation with Mass Effect 3. (Although I'd argue that it's more like 80% good, 20% bad. I mean, come on. Kai f***ing Leng.

There were other things they did wrong than just the ending. I'd say the opening was trite, the kid in the dream was a serious mis-step. The handling of Cerberus was laughably bad... the Thessia mission was a low point. It's the middle of the game and the Multiplayer along with the actual gameplay that really shone for me.)
On the other hand - Dishonored didn't take a step wrong for me. Slick as gameplay, a consistent storyline, a lot of variety and the endings that really felt like the game took my actions into account every step of the way.
Easy pick for me.