+2
Myself and Christine have already said, but it's basically because Cameron is useless and makes policy and promises on the hoof, looking to quell any immediate threat with no thought as to their future consequences. Imagine Blair and then take away any and all political savvy and knowhow (and, probably, interest).
The first thing to remember is that the Tories have always been split about Europe. Labour have been, too, but they've never been as public about it and, with the obvious exception of Blair (and he'd have never allowed them to say anything) they've not been in power long enough for it to be anything other than a side issue.
Ukip were making inroads into the Tory vote for the last election and, so as to stem the flow of voters moving to them, the Tories promised a referendum on Europe, should they get in. The thinking at the time was that there'd be another coalition so, even if they were in power, the other party (the Liberals) would never agree to a referendum and, therefore, they could throw up their arms and say "We'd love to give you what we said we would, but they won't let us"
They didn't expect to win an outright majority and so, like most parties who don't really expect to have to carry out what they've said, they said anything which they thought would work. Then they got a majority and had to bite the bullet.
I would say though that I don't believe there is a "right" answer. Pretty much any argument that can be made for one side can be countered by the other and both have been providing so many figures and statistics to 'prove' what they say that we're drowning in them while being bored by them.
It's a confusing mess and the real fun will come after it's all over. That's when things will start to get interesting.