A satisfying ending doesn’t mean nobody dies. A satisfying ending is an ending that feels like the end of the story and sometimes that means characters die.
A now famous ending for a character, though not the very end of the book, is Ned Stark’s death in Game of Thrones, Martin plays on the reader’s belief that as Ned is the closest the book has to a leader character he can’t die because lead characters always escape. Right up until his death we expect Ned to escape because he’s the ‘good guy’ and they always survive. Except it is being the ‘good guy’ that is Ned’s undoing, he tries to play the game of thrones honourably amongst dishonourable people, his honour leads to a lack of guile that is ultimately his undoing. In the world that Martin has created death is the only possible ending for Ned so, although it is shocking, it feels as if that was the only way it could play out.
Similarly in Hamlet all the lead characters die at the end because there is an implication that revenge is such destructive force it doesn’t just kill those it’s aimed at but those around it too. Being such a destructive force an end where all those involved die seems fitting, particularly of poisoning as poison is also a common metaphor for revenge. Had this long drawn out plan for revenge had left some or all of the characters alive the ending might’ve seemed less effective and less memorable because the sense of inevitable disaster would fall flat. We remember that they all died of poisoning at the end of Hamlet because they were all corrupted in some way by the poison of revenge.
As with the idea of the ‘it was all a dream’ ending the problems can arise when characters die seemingly to avoid dealing with sticky plots rather than because the story seems to dictate it. The cliché of the convenient death is the romantic triangle where one love rival dies which makes way for the other therefore avoiding the, usually, female protagonist from having to choose. This danger can be tempting if it might seem like disappointing the reader to make the protagonist choose one. However, this disappointment is not necessarily avoided by killing one rival, the reader can still be disappointed that their favourite died, perhaps more so because it’s so convenient. Arguably making the character choose would be a more interesting and potentially satisfying story. Whether or not one of the characters die there is still that potential for disappointment, that the protagonist hasn’t chosen the rival the reader wanted them to choose. Overall it makes more logical to follow the story to the emotionally complicated place rather than simplify it by killing a character off. This isn’t to say you can’t kill a character off but it shouldn’t simply be to get them out of the way.
As with anything else in fiction the death of characters as an ending needs to fit the story, not appear contrived or convenient.