In an ideal world nobody would break the law. That isn't whats going on. The laws against drugs are not working. Heroin and Coke are cheaper and more potent now than they were before the "war on drugs" started. Its just not working. Even now, with the laws and the billions of dollars invested, there are plenty of people who have no idea when to say when.
Drugs are very available right now, except they're being sold by the wrong people. If we sold drugs at 7-11 and ID'd people, they would actually be less available to children than they are now. Lets get the criminals out of the drug trade. Our murder rate will plummet, drugs will be less available, and drug addicts will be more inclined to seek help for their problems. With the obvious financial savings, that help will be far more forthcoming.