Single-direction relationships let a dimension filter the fact table. Both also lets the filtered fact rows reduce the dimension. That can be useful when a product selection should limit a store list to stores with matching sales. It can also make a customer count unexpectedly shrink after you change a channel slicer.
Follow the whole path, not one arrow. Multiple active paths can make a model ambiguous. Many-to-many membership often needs a bridge with a declared grain, rather than copied transactions or Both on every line. In this simulator, changing direction changes filter propagation; it doesn't duplicate stored fact rows by itself. The risky double count comes from duplicated membership or joining facts at incompatible grains. Prefer Single for the ordinary star, then test any deliberate reverse path with several slicer selections.