I prefer a more "Perfect Storm" theory:
1. Democrats controlled the WH for eight years. Parties rarely hold on to the WH for more than 8 years and haven't since George HW Bush nearly 30 years ago. People seem to want "change" after eight years of one party in the WH.
2. Donald Trump is/was a celebrity and didn't- on the surface- appear to be a completely "typical" Republican on some of his positions, which probably attracted a few people otherwise not inclined to vote Republican or at least encouraged some "down on their luck" people in the midwest to "give him a chance".
3. Trump generated Obama-like enthusiasm on the right that brought the far-right base out to vote for him in droves. There was not, unfortunately, comparable enthusiasm for Hillary Clinton even though she is the first woman ever nominated for POTUS.
4. Intense right-wing hatred and years of Republican-driven/media-driven phony scandals and accusations of corruption (and worse) against the Clintons and lack of focus on Trump's scandals and more focus on concerns about things involving Hillary, including phony allegations against the Clinton Foundation, her private e-mail server, and hacked e-mails from the DNC, none of which was as real or as bad as some of things that Trump was dealing with (Trump Foundation, Trump University, rape lawsuit) but got way more attention.
5. Rightly or wrongly, the e-mail server issue tainted Hillary. The effect of that seemed to have worn off since Comey announced that they had not found any criminal wrongdoing in July and she seemed to have recovered and seemed to be running strong but him coming out with that letter a week (a WEEK!) before the election that generated intense media coverage/speculation instantly put her under suspicion yet again and may have caused some undecideds to break against her at the last minute.
All of these obviously weren't enough to prevent her from winning the PV, but it helped shift just enough votes to deny her the EV needed to win.