There are two main reasons you want to parameterize your pipelines:
1. Parameterization helps support code migration between environments/orgs. Users have two separate orgs, and so helps moving pipelines from lower to higher environments. Since the parameters are in a separate section you can just update it in one section instead of breaking into the code/each stage each time.
2. Within a single org, parameters help you set the values as part of jobs. Since parameters get exposed at the job level you can pass them there depending on your environment. With parameterization you can create multiple jobs based on a single pipeline. Thinking of it like a class with jobs being instances of a class.

