I've noticed that Pipelines runs automatically every time that a branch is moved (fast-forward) to a more recent commit.
In our way of working, usually developers use dev branches in which Pipelines already runs every time a commit is pushed. Then all dev branches are merged into master and then all dev branches are fast-forwarded to the latest state of master.
In this last step, since Pipelines already run on the most recent commit (pushed to master branch), I think it's redundant that it runs again only because the dev branches are fast-forwarded and pushed to that same commit.
It would be nice to be able to configure Pipelines to avoid running on a commit in which it already ran before.