I thought the ending was great. While playing the game, I was wondering how on earth they were going to write a satisfying ending to the game. It didn't really seem possible to me. During the game, I was also a bit upset by the Illusive Man being turned into a pure villain, as he'd been a very interesting character in ME2. In many ways, most of ME3 was far more akin to a stupid American action movie than the previous Mass Effects were, so I was worried about an ending of that kind. With little to no explanation of why or how anything happened.
Instead, the ending was nice and reflecting. I expected the ending of the game to be purely based on what you'd done. If you'd built a giant army and had good friends, one thing would happen, while if you had no allies and friends, something else would. Rather than that, the actual ending sort of asked you to consider how much faith you had in the peoples you had helped during the game. Not only that, but the choice also reflects back on how you view the real world and where humanity is headed. I certainly ended up thinking about stuff like that.
And honestly, I think that's when sci-fi shines best. Not when it creates a set of rules, and then follows them to the point, but when it bends its own rules to tell the best possible story and ask the best possible questions.
All in all, I'm extremely satisfied with the ending. I find it to be the by far best ending of the Mass Effect games, and probably in the top 10 of all games I've ever played. The "plot holes" mentioned earlier really don't bother me at all. How Anderson entered the beam before Shepard, for instance, or why he ended up in a different place than Shepard, as it's not really relevant to the point the game is making at all.