The biggest kick in the balls with the way political parties are run is that once you understand that parties do what they need to satisfy donors and not the electorate then you realise who the parties really represent and that isn't a problem if those parties all acted the same.
The problem is that the Tories, as awful as they are, consistently do what is best for their donors. The wealthy get wealthier under Tory rule. Labour are funded by the working classes through unions and yet Labour take those votes for granted and fail to represent the people that fund them and that is why we end up as a country skewed centre-right. Obviously the Tory party is full of MPs who belong to the group their donors come from (or who think they do anyway) so they naturally agree with what their donors are asking where Labour politicians aren't working class, union representatives etc. They are largely middle class professionals playing politics. They have probably got more of a conscience than the Tory lot and understand that they are on the right side of the battle but they don't understand what their donors, the unionised workers, want because they aren't from their world.
Tories represent the wealthy and they don't really budge from that. They get more voters by holding their position and convincing people that they are being represented. Labour chase votes and move their position towards the Tories. If they held their position and spent more time convincing people that their offering represents them more (and this should be true which makes it an easier position) then the country would be better for it.