The big thing with the ending is that you have to understand Joel as a character. Yes, Joel takes the choice away from Ellie but that is completely within his character because in the end he is a layered man. He is a brutal at times psychotic bastard but he is still a person, he was a father. The opening level shows us how he couldn't save his daughter and how it ate him alive and he wasn't the same after that. So when it gets to the final level and hes faced with once again losing someone he thinks of as his daughter now he refuses to let her go.
Even this decision is layered, on the one hand he doesn't want to let her go because for the first time in decades hes found someone to care for someone that makes him feel alive again. Tess was important to Joel but its clear from the way they talk to each other Joel doesn't truly love Tess, not like he loved his daughter or ends up loving Ellie, they don't have that connection.
Then he also likely thinks that in some way this is his redemption. He couldn't protect Sarah and hes hated himself for it ever sense but faced once again with a situation where his daughter is going to die he doesn't care who he has to kill or what he has to go through hes going to save her this time.
Then on another thought Joel realizes how miserable he will be without Ellie in his life so he doesn't care whats right or wrong or what Ellie would pick. He's gone through enough horrible shit in his life and hes not going to let himself be fucked over again so fuck the Fireflies, Marleen, and the rest of the world he deserves to be happy for once.
All of those thoughts are running through his head during the final level and ending, the anger, self hatred, sadness, fear, loneliness, ect. IT's a massive expression of varying different thoughts and emotions and you as the player may hate the choice he makes but at least you should understand it. There is a reason that opening level exists where we have to watch Sarah die, there is a reason we are shown that Tess and Joel's relationship isn't one of deep love, there is a reason we are shown just how brutal Joel really is, and is a reason why we never get to make that final choice because this isn't our story its Joels and we as the player are merely the tool guiding the hand of Joel through HIS story.
Knowing this, say ND hate let you as the player pick what you wanted to do, to let Ellie die for the good for humanity don't you see how that would have ended? Joel would have watched Ellie die and been so overcome with grief and sadness that he'd just kill himself right there and roll credits because he just can't take anymore. Is that really the ending you'd want to see?
That's why the ending itself is perfect because its the ending of Joel's story and even though the Last of Us Part 2 is coming that will be Ellie's story and I can only hope ND is able to deliver that in the same amount of detail that they did for Joel and his story here.