Weeds, weeds, weeds - everywhere we go they're everywhere... I hate 'em.
There is simply no single method that works. Some weed species totally love mulch. Bark mulch may only last a few years or so, but depends on the tree species it comes from. Mulch is very high in carbon and very low in nitrogen, it's low in nutrients and has toxins in it (a trees defense against bugs is the bark). It causes nutrient problems in the soil and causes a nitrogen deficiency. Plants in a bed with mulch around will not thrive like they should. Mulch *looks* great at first but is not a great choice.
Small round stones (like drain rock or pea gravel) or clear crushed gravel (no fines) won't have nutrients in it but some weeds will still grow in it. Very annoying! I was looking at an area yesterday where I put 3" clear crushed road base last fall and it has several weed species growing in it already. Pffft.
There are many types of weed killers. Some kill everything and if in contact with roots can kill a tree, some only kill leafy plants, some only kill woody plants, some can be sprayed on grass and some can't, some kill weeds before they "sprout" (pre-emergent), some can be toxic, some you need to suit up for, etc., etc. Roundup is a good general purpose product and is relatively safe & non-toxic but isn't 100% effective. For tiny flower beds around a house, a pre-mixed spray bottle from a garden store is probably the way to go and then hand pick the occasional weeds that still grow or you missed.
About all you can do is put down landscape fabric and 3-4" of a clear gravel (no fines) and resign yourself to the fact that you will need to spot weed with a sprayer periodically throughout the growing season. Don't buy the box store ****, go to a landscape store and get the commercial grade stuff that road crews use. Alternatively, you can use a living weed barrier of a low growing plant that spreads out. Go to a garden store for suggestions. For our tree nursery, we are now using low-grow grass to choke out weeds. Horsetail still grows in it though (but I have a weed killer just for that, haha). You could make a small raised bed around each plant like say 12x12" or 18x18" so when you spray weed killer it won't get on plants.
Good luck!
