The real reasons behind this result are several. Corbyn cocked things up big time by trying to sit on the fence. While you have a simple slogan from the Tories designed to appeal to the simple minded, anything other than an equally clear message will get lost in the tabloid papers. The press barons ran a vicious campaign against all parties other than the Tories, not surprising when you look at their financial interests. Both remain and leave voters had become totally fed up with the word Brexit, and were led to believe that if they voted for Johnson it could disappear from the talk and the world would change. The very fact that he kept saying he had a deal, which he doesn't simply shows how little people realise what is to come next. But probably the largest influence was people in the north who have some of the poorest regions in the whole of Europe wanting a better life. That were prepared to forget for one day that it was this government that had reduced their living standards to the current level.
What next? Johnson has already said that the Tory party will have to change so as to represent the north of England. This doesn't bode well for some of the richer members in the leafy suburbs. No one has much idea of where this will take us as his whole record has been built on saying what is expedient rather than having firm ideas and beliefs. This is what makes the situation rather funny with his supporters believing what they want to believe he stands for, but I suspect that if you asked him today what his core belief was, he wouldn't know.