How do I get rid of weeds for good?
You cannot get rid of weeds for good. There are just too many weed seeds in the soil, which often also contains the roots for weeds that grow from root cuttings. There are two things you can try. (1) Dig the soil 6 inches deep or more and turn it over, burying the surface layer and bringing the lower dirt to the top — it contains far fewer weed seeds. (2) you must mulch, with semi rotted leaves, or semi rotted wood chips. Do not use unrotted wood chips of pine bark, which will rob the soil of nitrogen. Make sure the mulch is at least a couple of inches deep. If you do these things you will decrease the number of weeds germinating, and it will be easy to pull out the weeds as they appear. DO NOT USE herbicides in your flower garden. Inevitably you will get some of it on the flowers you are growing and will kill them.
The best product I can suggest is a pre-emergent. You can find this at a Lesco or a garden-landscape store. I am not sure is someone like Walmart would carry it. They have many different names but the idea is to stop the seeds of the weeds from germinating. As long as you plan to plant items that already have roots you should not have a problem. However, being a pre-emergent anything that you may plant that is still in a seed stage will not take. Just be sure to water lightly after application that is very important and is not always stressed on the label.