Both of these are quite good at burning off top growth of weeds, and results can been seen within an hour. Vinegar is about 5% strength by volume acetic acid (ethanoic acid), but you can buy "natural" acetic acid products which have a higher concentration. Vinegar or bleach are effective on young weed seedlings which have an immature root system, but on established weeds, multiple applications are necessary and weeds can repeatedly resprout. However since the roots of weeds store energy in the form of carbohydrate, eventually they will give up re-sprouting as this energy is used up and foliage (effectively the food/chemical energy generating "factory" which works on photosynthesis) is constantly destroyed.
Annual weeds are easier to kill since they usually have a relatively shallow fibrous root system. Perennial weeds often have a more extensive root system (because they may be years old), and so are harder to kill. Dandelions for instance have a tap root, something like a carrot root, but not as thick. So they can store lots of energy and keep re-sprouting if they are constantly hoed or treated with a foliar herbicide or weedkiller.
Off the shelf foliar herbicides such as those containing paraquat, do the same thing as bleach or vinegar and kill green tissue. Systemic herbicides like glyphosate (aka Roundup), get absorbed and travel through the plant, down into the roots killing everything. It really is an ideal weedkiller. However glyphosate use is controversial and according to the WHO in 2015, it is "probably carcinogenic in humans". However in 2016, a UN panel of experts and WHO group concluded that "glyphosate is unlikely to pose a carcinogenic risk to humans from exposure through the diet". So make of that what you will!
You can also use a hoe for shearing off top growth in dry weather, or alternatively a blow torch.