One thing I loved about the movie is that it even went out of its way to deal with the stupid things JJ Abrams did without actually making it a lesser film.
For instance Captain Phasma is a stupid, badly written, non-character. They talked her up all through the run up to the 1st film and then did absolutely nothing interesting with her, even when the opportunities were slapping them in the face. Is there anyone who thinks TFA wouldn't have been slightly improved if the battle Finn has was with Phasma instead of some nameless stormtrooper? Not only would it make more sense for Phasma to abandon her blaster to prolong the battle with a traitor, it would be a non-backstory reason for Finn to dislike her enough to stick her in a trash compactor. To this day I've never heard an explanation why they did things that way and I can only conclude it was massive arrogance on the part of someone involved with the film overruling everyone who was screaming the obvious at them.
TLJ gave us a Phasma / Finn fight. They had the sense to give Finn a weapon he actually should be expected to know how to use. They didn't treat it as some kind of epic combat and only made it last about a minute. And then they wiped out a character who shouldn't have survived past the first film anyway.
Secondly they killed off Snoke. ****ing A! No one honestly can say they gave a **** about Snoke as a character. With Snoke we only cared about his back story and how that fits in with Kylo Ren. And anyone who believes JJ Abrams definitely had a back story for Snoke, the First Order and how the Republic / Rebellion arose is ****ing fooling themselves as Abrams has proved time and time again that he makes stuff up based on "rule of cool" and then later tries to retcon it into making sense (Usually with very little success). Rian Johnson appears to have known that, and decided that since Snoke was never going to be more than a one-dimensional, cardboard cut-out of Palpatine we might as well replace him with someone more interesting.
Thirdly, Luke running off never rang true. We were only given some ****ty explanation that he'd gone to find the 1st Jedi Temple because Kylo Ren turned to the dark side. None of that fit with Luke's character in the earlier films. TLJ found a way to make it believable. It wasn't simply that Luke ****ed up training Kylo or that he didn't see the darkness in him. The shame of deciding to murder his own nephew even if only for a split second is something that could make you believe that Luke would decide to run away so that he'd never be tempted to train a Jedi ever again.
Fourth, Ren's parents were yet another mystery set up by TFA. And it was a massive pile of manure which JJ Abrams had dumped on the trilogy hoping he could plant roses in it. It was bound to have a disappointing reveal because if she was of Skywalker blood it would seem stupid. And if she wasn't a Skywalker, why would we give a damn? There's no one else in the universe we give a **** about* Full points to Rian Johnson for sweeping up that massive turd and throwing it out by revealing that Rey's parents were nobodies. Yeah, he couldn't make it into something actually good but thank **** he decided to remove it.
Finally, Kylo Ren was an angsty twat in the first film. He still was in the second but now we know why. If your uncle tried to murder you in your sleep and then you ended up being raised by Emperor Palpatine II, you'd probably end up being an angsty twat too. They gave us a reason why he ended up that way despite having parents like Leia and Han who obviously loved him. It's not a perfect explanation, but it's a lot better than anything we had from the 1st film.
*At least no one white. Mace Windu's love child or some descendent of Lando could, with very inspired writing, be turned into something interesting. More likely they'd **** it up.
By far the biggest problem with Holdo's part of the story was the failure to justify why she kept even the existence of the plan totally secret other than as a narrative contrivance to build tension.
Possibility of a mole and fear that Poe would do something stupid (which he punctually did).
I never said it was a stupid mistake or that she acted incorrectly for her character. But by being overly secretive she caused the very disaster she was trying to avoid.
This was one thing I loved about the film, the heroes and villains were all shown to have flaws but remained relatable characters. Finn attempts to desert (again!). Rey proves that she'd fall for a really obvious trick when she goes with Ben in front of Snoke without realising she's being set up. Luke makes massive mistakes believing he can train a Jedi as well as Yoda even when Obi told him that was a disaster. And he still needs Yoda's guidance before the end. Poe is overconfident even when warned that his rash plans can destroy everything. Ackbar requires oxygen and air pressure to live (Too soon?)
There's a big side-arc involving Finn and Rose, which feels rather out-of-place, given the part of the main plot that runs in parallel with it. It feels like the whole casino adventure was meant to take days of in-universe time, and the writer only realized after it was written that the Rebel fleet has hours of fuel left for the chase sequence. I get why it wasn't cut: It's basically the entire time that Finn and Rose have to interact in this film, and they're being set up for more in Episode IX. The compression of the timeframe makes the whole sequence feel inartful, though, especially the way that the film cuts back and forth between the Casino and the chase.
That was one problem I did have with the film. As far as my mind canon goes, they kept ****ing up the fuel reserve figures and it actually took 72 hours+ to run out of fuel. That not only makes Finn's arc make more sense but it also explains why Poe and his pilots would increasingly become stir-crazy at the fact it seems that absolutely nothing is being done to save them. 70 hours of constant bombardment with no hope of rescue beyond the one that your superior officer doesn't want to do would be enough to make anyone want to mutiny.
And to be fair to the film, it's not like Empire didn't do the exact same thing with Luke's training on Degobah. How long are we supposed to believe Luke spent there before running off to Cloud City? If I can ignore that (and I can cause I love Empire), I can ignore a lesser mistake in this film.