A new column changes the shape of your data. It changes how queries run. It can break production or unlock new features in one release. Adding a column in a schema is simple—ALTER TABLE—but the ripple effects are not. It can change indexes, join performance, cache keys, and deployment order.
In most systems, a new column starts as a requirement. A new field in a model. Maybe a value you plan to backfill. The clean way is to stage it: create the column with a default, deploy code that writes to it, then deploy code that reads from it. This avoids downtime and mismatched reads.
SQL migrations are only half of it. If the application reads from replicas, schema changes must propagate before the app depends on them. If the table is huge, adding a new column with a default value can lock writes. Online schema change tools reduce this risk. So does running migrations in multiple steps.