Since the beginning of Survivor 48, it was clear that Joe Hunter was a force to be reckoned with. Not only because of his contribution as a physical asset to the Lagi tribe, but also from his genuine ability to create deep social connections with others in a short amount of time.
Between his alliance with Eva Erickson and his continuous individual immunity wins, the players not in the majority alliance were keen to get Joe out. And after every vote that didn't result in Joe's elimination, there was a high probability that the new jury member joining the bench would vote in favor of him winning simply because he was doing a great job of outlasting despite his threat level.
But in the end, it wasn't Joe claiming the title of Sole Survivor, it was his close ally Kyle Fraser. More specifically, it was because of a move Kyle made that disproved Joe's public standing as the leader of the majority alliance. There was only one way Joe could have won in the end, and that's if he had taken more care in sussing out the misinformation Kyle and Kamilla Karthigesu fed him about Shauhin Davari.

The Shauhin vote lost Joe the $1 milion
After weeks of playing a straightforward game with honest communication between his alliance members, he chose this moment to play chicken in the hopes that it would confirm that Shauhin was the man with integrity that Joe assumed him to be. The only problem with that strategy is that you can't play a game for two when one person isn't aware there's a game being played. And with Shauhin genuinely not understanding why Joe was suddenly acting squirrelly around him, the only way through was a blunt conversation, but that's not the road Joe took.
It could have been a result of the elimination of David Kinne and Joe not feeling he could be as direct with Shauhin as he was with David, out of concern that the numbers were just too small this time around to chance ruffling the feathers of an ally showing signs of flipping. But ultimately, I think Joe just trusted Kyle more than he did Shauhin, which was a key component of Kyle's winning strategy.
If Joe had approached Shauhin with all the information Kyle and Kamilla provided him, that would have been all Shauhin needed to enact his blindside on Kyle. Then, we would have potentially seen Joe at the end with Shauhin instead. And had Joe been the one to discover Kyle's deception leading to his elimination, he would have been a core player in the biggest move of the game which—on top of his other resume qualifications—likely would have given him the actual status of majority alliance leader that everyone had previously perceived him to be.