It's a great debate, whether to legalize several currently illegalities. Top two examples are marijuana/addictive drugs and prostitution. To break down in pure economic terms, it actually makes more cents (senses) to legalize marijuana and prostitution because then they can be federally regulated, instead of federally sought after. A lot us act irrationally and tend to like activities that are "illegal" or "forbidden." We enjoy the rush of not getting caught. So psychologically, once marijuana usage can be documented and becomes widely available, where is the rush of getting some Mary Jane while you're looking behind your back? Making something illegal also means that someone will try to be a smart ass and bend the rules--ie criminals. Perhaps marijuana and prostitution don't have the strong backing of say, firearms, alcohol, or the tobacco companies, where these three have also caused many sad stories, but at least the government has some regulation and is collecting taxes from them.
Of course, it is also about morals and protecting those who are innocent bystanders. Paying money for sex?! Sure, it is the oldest profession in the human history, but there are health-related issues and consequences that result from rampant sex. Legalize marijuana could lead to widespread usage and more problems than now. but the truth is: we are already dealing with these issues and spending the money and efforts, how's that different than making it legal and have more control over it than let some Joe Chill be the boss?
again, we are irrational thinkers. We sometimes just don't choose the best course of action, because that's how we wanted it.