He won because people who used to vote democrat didn't vote. And people didn't stay home because the moron got shot and managed to get a cool photo.
People stayed home because the Democratic party wasn't protecting their interest so they didn't vote for them.
I called it in 2015 when I stated Trump would win because the Democrats have moved too far right and people are angry or indifferent and will vote for Trump for the sake/hope of any change, and that even though hell probably lose re-election he or anyone else that's populist would win right after that.
I moved to another country almost 6 years ago now. I was prepping since Highschool when I had seen Bush steal the election via the supreme court and Florida beforehand and Obama's policies afterwards being just as right-wing in many ways. I only had some hope at first since he had raised the minimum wage, but the ACA was too strong a compromise.
Though if you studied history, you could say the USA was eventually doomed to fail ever since the Civil War's aftermath was solved "amicably". That allowed the cancer to remain and spread again. The whole "unity for the sake of unity" bs started then.
It was an absolute power move to stand up while being shot at, and everyone knows it, doesn't matter if you don't like trump, you can't get better marketing than that.