I know all these words have the same meaning and refer to some kind of plant.
Also, as far as I know, weed is the 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 originated from South America — for example, has a Spanish root — and the others originated from elsewhere?