Labour pretty much got their gains from the Lib-dem losses, UKIP got their votes from Conservatives and the BNP losses.
UKIP has definitely replaced the 'protest' vote of the BNP though, luckily, definitely a lesser evil even if they are misguided single-issue party.
Problem the Libdems had was that they attracted a younger audience who saw them as progressive, then they jumped into bed with the conservatives who had some serious policy conflicts, especially when Libdems said to scrap tuition fees and ended up raising them to 9k from 3k and they received a lot of flak for the coalition. This is made worse by constant media portrayals of them being Tory-lapdogs rolling over for David Cameron. The disaster of the AV vote, something that no one actually wanted because Tories said no to STV, which is what people actually did want.
With Europe, you have the populist right-wing rags blaming Europe for everything, including things Europe is not even responsible for... could go on for a long time.
Bookmarks