Fabric’s real job under gravel is separation, not weeds. Without it, rock works down into the soil over a few years — especially in clay — and you lose depth, gain mud, and end up topping it off. A woven geotextile keeps the rock sitting on the rock and the dirt sitting under it. That alone is usually worth the cost.
Weed suppression is the part people overestimate. Fabric stops what’s already in the soil from coming up, which is real, but it does nothing about the seeds that blow in and germinate in the dust and organic matter that accumulate in the gravel itself. Two or three years in, you’re weeding the top of the fabric instead of the ground — and pulling those is harder, since the roots tangle into the weave. Established perennials like bindweed and quackgrass go straight through it regardless. Depth does more for weeds than fabric does: three inches of gravel suppresses far more than two inches over fabric.
The other tradeoff is what happens later. Fabric makes the area much harder to change. Once rock has settled into it, taking it out means pulling up a torn, root-bound sheet in pieces, and the edges tend to work their way to the surface and look bad. So for a plain gravel area you don’t expect to plant — parking strips, side yards, paths — woven fabric is the right call. For a xeriscape bed with plants in it, skip it. Fabric blocks the organic matter that should be building up in that soil, and it makes adding or moving a plant a chore. Kill the existing perennial weeds first, lay three inches of angular rock, and plan on pulling a few volunteers each spring either way.
Two notes: use woven geotextile rather than the thin non-woven stuff at big box stores, and never plastic sheeting — it kills the soil and sheds water sideways.