The pre-election polls for the 2015 UK General Election missed the final result by a considerable margin: underestimating the Conservative Party and overestimating Labour. We analyse evidence for five theories of why the polls missed using British Election Study data. We find limited evidence for systematic vote intention misreporting, late swing, systematically different preferences among "don't knows" or differential turnout of parties' supporters. By comparing the BES face-to-face probability sample and online panel, we show that the online survey's polling error is primarily caused by undersampling non-voters, then weighting respondents to represent the general population. Consequently, demographic groups with a low probability of voting are over-weighted within the voter subsample. Finally, we show that this mechanism is likely partially responsible for the over-estimate of the Liberal Democrats in 2010, showing that this is a longstanding problem with British polls.