You can't legislate morality. If you make gambling and drugs illegal they just go underground and become worse problems and foster a criminal underclass/organized crime that becomes a much bigger problem.
Better to keep them legal and put sensible controls on them, emphasis on sensible obviously that's not what we have going on here. Outside of our freedom on marijuana in some states now at least when you don't consider how anybody that drives a car can be arrested for impaired driving even if they're totally sober from the marijuana. If they have smoked in the past week or two. That's another story though.