As a country we always swing from one to the other because there is no viable third option (and this is from someone who used to vote Lib Dem and still wishes Nick Clegg was in charge).
Labour are seen as the spending party. They will spend and borrow, but that does create for example public sector jobs, wage increases in the public sector etc. However, all that spending does not work and we run out of money (like when Labour last left power).
The country then realises they need to sort out finances and the economy so the Tories get voted back in. They enter into austerity, cut back waste (theoretically they want to cut waste, but the public sector often still has the waste and just cuts jobs which isn't the aim) but generally bolsters the economy (Brexit has obviously hampered that somewhat this time).
The country then gets fed up of austerity and wants some spending so we get Labour back in and so the cycle continues.
Whilst some see the Tories as for the rich, a lot of people vote that way because it feels with the Tories that they want to support people who want to work and make something of themselves. I am all for making sure there are benefits/support for the ill, disabled etc, but for those being too lazy to work then why should they get benefits (as opposed to help into employment).
Labour are then seen as supporting the poor, but also supporting those on benefits (not just families who need them, disabled etc but those who can't be bothered to work) and those who work hard do not like that their money is being used to support people who can't be bothered. After all, if you increase and allow benefits and a good benefit life for those who do not want to work, why would the rest of us want to work - we don't do it from choice but because we need to support our families.
If Labour brought in a more left-centre leader who was charismatic (for his faults, Tony Blair did come across as very genuine) then I think more would go to him. However, Corbyn's party is too far to the left to threaten the Tories if the Tories unite (we are too busy infighting for power rather than getting behind Theresa May who I think could do a good job if everyone wasn't trying to stab her in the back the whole time).