A weed by definition is an unintended plant!

So if one has a nice rose garden with a few unwanted dandelions growing. The dandelions are weeds. But if one has a nice big dandelion garden (people eat the leafs) then dandelions aren’t weeds.

The only “biological” basis to call something a weed, I guess, would be if a plant is very invasive. Like dandelions, buttercup and blackberries.

One could call cannabis a weed because it grows well in such varying conditions, but to me it will never be a weed.