I know all these words have the same meaning and refer to a kind of drug.
Also, as far as I know, weed is slang for marijuana or cannabis. (Correct me if I’m wrong).
What I do not understand is the difference between these words. Is cannabis a formal word, and marijuana and weed both informal?
Does one or two of these words come from South America — for example, has a Spanish root — and the others come from elsewhere?