I've always felt that Lebron is stuck in Cleveland. He cares way too much about his image, and he really hates being considered a villain. And he knows that if he leaves Cleveland AGAIN without delivering a title, he'll be crucified.
However...I do admit that I'm started to be coaxed into taking the other side of the argument. Lebron knows his team can't win a title this year. I think he has started to realize just how much he underestimated how hard it would be to bring a title. I fully believe he thought it would be MUCH easier than what it's turned out to be. It's also just bad luck for him that when he decided to go back, the Warriors weren't the Warriors yet.
I also think deep down, he's struggling with the idea that this isn't his league anymore. He began losing it to Steph Curry last year, and that's been fully cemented this year. So because of that, he honestly may not care anymore what people will say if he leaves again.