Another non-toxic way to kill weeds without harming other plants or the soil is to use clear plastic. A plastic bag from the veggie section at the grocery store will kill 3 or 4 weeds at a time or a small section between your flowering plants, if you just put it over them, weight the edges with a rock and let the sun 'cook' it.
We have a gravel driveway that gets overrun sometimes with weeds, and I just buy a $5 painter's drop sheet, spread it over for a sunny afternoon, and poof, all the weeds die. IF I remember not to run over it on the gravel or step on it, I can use it several times.
I've used vinegar/water in a spray bottle and it works quite well for some weeds but not all. The soap acts as a surfactant (as Horntoad said, it makes the stuff stick) but doesn't really help kill anything, and it's rather salty as well, so you don't want to use much.