I'd say for the last decade or so, it's because people bought into populist lies about everything being the fault of the EU. And Brexit = Tories.
I am not and never will be a Tory voter, but I don't find it hard to understand why people vote for them. They're much more unified than Labour, most of the time. They're good at campaigning. They have an easier ride because right wing messaging is about 'we must defend x from y' whereas left wingers need to get across a more complex message about the greater good.
A lot of people in run down areas equate Labour with hand outs, if you're from a poorer background but worked really hard for what you have, you probably hate benefits culture more than someone from a comfortable background.
For older people it might be tradition, protecting assets and property, memories of shambolic 1970s Labour governments, wanting a more professional-looking set of people, wanting to avoid change.
If there were a few new parties in the mix with fresh messaging, I think Labour and the Tories could be chucked out pretty rapido, they're both a bit stale.