It was 100% down to Brexit. Johnson called the election because he knew he was going to win and Labour couldn't say no because they'd get hammered for not believing in themselves. Their position on Brexit was nonsense and didn't appeal to Leave or Remain voters.We didn’t win though did we? The reasons for the Tories winning last time are complex and varied and are not just down to Brexit.
Remember the derision when Corbyn suddenly announced the free broadband policy? The Labour campaign was messy and lacked proper planning and structure.
To be elected in the UK you have to appeal to a broad group of people, going to the extremes of the left wing will only serve up yet another Tory government.
Correct me if I'm wrong but the Broadband wasn't even in the manifesto, it was announced either alongside or afterwards but it was a desperate freebie thrown in when defeat was already staring them in the face. The manifesto, and particularly the one vs May was extremely popular. Without wanting to re-tread old ground May went to the polls because she expected to increase her majority and Corbyn's manifesto was so popular that her majority was reduced. Labour gained 3.6m voters compared to 2015 (Tories also gained but only 2.3m) They didn't win but they began the month so far behind that it was as good a result they could have hoped for when his own party, never mind the opposition and the media were so anti-Corbyn.