Historical reasons largely I think. People are scared of it as there is a lot of misinformation out there. Think of the children! Some people have a moral objection to the use of certain drugs, moreover a distaste and disregard (or simply apathy) for some cultures and/or lifestyles unlike their own (at least that they perceive as such). It's easy to belittle those who don't choose to live a 'normal', socially accepted lifestyle; minorities of all kind get this treatment be it due to ethnicity, sexuality or pretty much anything else. The status quo is god. Humans are generally very susceptible to the attitudes of those around them, which is a double edged sword in terms of moral consequences.
It's difficult for politicians to admit that current policies aren't working. There are so many issues on the table that they'd be foolish to risk their career over an issue only a minority care about. (Though this is changing. The fact that the negative consequences of prohibition aren't limited to the buyers helps.)
I guess when you look at weed it seems like a no-brainer, because on top of all the reasons why prohibition (of any highly sought after drug) doesn't work in the first place you have a drug that is relatively harmless compared to most others. That said, if I were a parent, I wouldn't want my kids smoking reefer, so I can understand opposition from an emotive POV, throwing reason out of the window. But some people genuinely buy into all the 'harmful to society' stuff too which I can't empathise with so much. Well, hardly at all really. When it comes to weed though I think the reason why it's still illegal is generally just due to government propaganda instilled in the minds of the populace over many decades. In modern times we know enough about cannabis from a scientific perspective to know a bit more accurately how dangerous it really can be (which is not a hell of a lot), I suspect in the past people didn't have that privilege making baseless disinformation easier to swallow.
I've been awake for a long time so sorry if this makes little sense.