The easy thing for David Cameron to do would be to bow to the pressure being brought on him by back-bench Conservative MPs, a few Cabinet Ministers and ex-Cabinet Ministers and call for an in-out referendum now, which given the present economic climate, public anxiety and political propaganda of UKIP, would result in an 'out' vote. Having stymied UKIP with the referendum, he could then call a snap general election which, on the back of a referendum 'triumph', he would be likely to win.
Why doesn't he do the political expedient thing?
Because I think he knows that Britain's best interests lie in being part of the larger European trading block, rather than being isolated and ignored when the US, China and the rest of the world negotiate trade deals with Europe.