So to you, Abby killing Joel was a flaw because Abby should've had second thoughts about doing it after Joel saved her, but Ellie not killing Abby at the end is also a major flaw, after Abby let Ellie live (tommy and dina too) TWICE.
Sounds to me like you're a little biased as to "how people work" when it comes to joel and abby.
Abby spent 4 years of her life tracking down Joel, a man who killed her father, a father that seemingly never did anything to hurt anyone who didn't deserve it ( unlike the long list of innocent people Joel kills ). During this time, she never allows herself to be happy, not even giving a chance to her relationship with Owen, someone she KNOWS she loves. All she can think about is Joel and how he killed her father, who was just trying to do good. She finally finds him and goes to Jackson WITH her friends. For them to do that in their situation, they risked their lives for her. Do you honestly believe that, just because Joel was "nice" to her for a moment, she should just change her mind and tell her friends they risked their lives coming there for nothing? That's an ironic expectation for someone who complains about "characters wasting their time".
After Joel's death, Abby and Ellie are even. Even Ellie knows that, but pain is blinding her judgement. She ends up killing almost all of Abby's friends, but Abby still lets her and Dina go, because even Abby was having a hard time dealing with what she did to Joel. After all, she tried saving Yara and Lev as a way to redeem herself for that.
After all the innocent people Ellie kills (including a pregnant woman), she is still blinded by pain and continues to seek revenge until she finds Abby in a state that was arguably worse than death. That, combined with the fact Abby let her live twice ( plus a pregnant Dina ), and combined with ALL of the innocent people Ellie kills throughout the game, almost convinces Ellie to just let Abby be on her way with Lev. But then she looks at her own blood and is once again reminded by the pain of losing Joel. Once again she is blinded by that pain and quickly decides to kill Abby there and then. Abby doesn't even want to fight and she is physically weakened to an extreme extent, so it's almost like an execution, rather than a fight.
A moment away from drowning her, Ellie realizes she will not feel better by killing her. She realizes she has to do what Abby did, and that is to redeem herself for her acts of revenge. Only then she could still have a hope of ever feeling happy and content with herself as a person again. So she lets Abby and Lev go for that very purpose. You cannot honestly have played the entire game and tell me that it would've been "good" for Ellie and her mental state to kill Abby at the end.
I am baffled by the people who state that " the characters just wasted their time". Ellie finally learned how to cope with Joel's death and be her better self, instead of her worst. Abby found her light in the darkness that surrounded her for 4 years, in Lev. THAT is a how humans CAN work, there is no standard for that because every person and every situation differs from one another. It's almost childish to expect someone to deal with pain and loss the same way you would.