When we reach for it
Most engagements. Tests, checks, builds and deployments in one place the whole team can already see. The pipeline is the definition of done: type checks, tests, accessibility and contrast checks, and a preview a reviewer can click. Nothing reaches production by a route that skips it.
When we would argue against it
Very heavy build matrices on hosted runners, where the minutes cost more than dedicated infrastructure would. A pipeline slow enough to be ignored is its own failure, so we keep the loop fast and move the slow parts off the critical path rather than asking people to wait.
What it looks like in delivery
Actions pinned to a commit rather than a moving tag, secrets scoped to environments, and required checks that genuinely block a merge. The workflow changes in the same pull request as the code it builds, which is what stops a build definition drifting away from the thing it is supposed to prove.