It's a very, very bad idea to hold a referendum along the lines of "vote no for the status quo, vote yes for, erm, something, we'll let the Yes side make up some stuff about unicorns and cricket playing vicars for you". The vote should have been for a realistic deal, with article 50 notification contingent on having agreed said deal in principle. People had _no_ idea what they were voting for, and that's entirely Cameron's government's fault.
That doesn't mean that referendums are necessarily bad in principle, though.
In Ireland we have quite a few of these, but generally the government will say what it intends to do with a Yes result. When people voted yes on the abortion referendum, say, they weren't just voting for "more abortions, please" in the abstract, they were told ahead of time what would happen if they did vote yes.