Pretty interesting article here which tries to explain why the polls are all over the place at the moment.
http://ukpollingreport.co.uk/blog/archives/10093
Seems a lot of it comes down to people either not remembering, or deliberately misstating, who they voted for at the last election. The polling companies try to correct for this in different ways, hence big difference in the numbers they report.