WARNING: Spoilers ahead. If you have not seen The Last Jedi, proceed at your own risk.
I have no time or tolerance for the criticisms of The Last Jedi that assert that Luke Skywalker would never have thought about killing Ben Solo and that having him do so is some kind of betrayal of his character.
Yes, he spared Darth Vader’s life and supposedly redeemed Anakin Skywalker, but Luke is not perfect, and to expect him to never fail again is crazy. It seems like people making this argument want Luke to be The Good Guy who only becomes more perfect and powerful over time.
This sort of thinking is the same that says people are either good or bad, and that a good person can never do bad things. Conversely, they want us to believe that if a person does a bad thing, she or he cannot be a good person, and therefore must be a bad person.
To accept the version of Luke Skywalker that The Last Jedi shows us means you have to accept that good people can do bad things, and that there is not a one-way road to redemption and enlightenment.
I imagine there are plenty of people who respond “Yeah, but this is just fantasy! Sometime we just need to escape!” That may be true, but there are several ways of responding to hard truths about the world and life (besides ignoring them, I mean). One way is to tell ourselves comforting fictions—to live out wish-fulfillment fantasies in which we can pretend for a little while that these hard truths do not exist, that the Good Guys are always good and that once they’ve one, they never fail again.
Another way of responding is to use storytelling as a means of exploring these truths, how they impact people and how those people deal with them. This latter response makes a lot more sense to me—stories that give you the opportunity to explore upsetting, possible scary stuff and different ways of dealing with that stuff in a low-risk setting.
Maybe that’s just me, though.