Jon, the other thing that happens is that the carpet streches every time someone walks over it. As a foot lands it pushes the carpet in the direction of motion and every time a foot takes off it move the carpet in the opposite direction. The movement of the carpet is influenced by the underlay and any furniture that may be on it. As you say carpet fibres tend to be biased, there may also be some stress built into the carpet if it is fitted, based on the shape of the room. The carpet moving under the rug will tend to drag it along.
You can get a material that is mostly latex to put under your rug which will reduce this action. It works on carpets and hard surfaces too.