Deploy the same codebase to different environments (staging, prod). Dozens of microservices live in single repository, and each service change must trigger only that service's pipeline. Multiple PRs proceed simultaneously but each PR's build shouldn't cancel another's. These three requirements need complex workarounds with V1 CodePipeline. V2 supports all three natively: input variable system, trigger filters, and Execution Mode respectively.
Today we understand why V2's dynamic pipeline features were designed this way, and in what situation to use which feature with concrete scenarios.
💡 Related theory: V1 to V2 transition is not merely feature addition but philosophy shift