Adding a new column sounds trivial until it runs in production. Schema changes are brittle. If you write carelessly, you risk downtime, bad queries, and corrupted data.
A new column shifts the shape of your table. Every SELECT * call changes. Every ORM mapping shifts. Indexes might need updates. If the column is nullable, you must decide whether to backfill or leave historical rows unchanged. If it is not nullable, you have to provide a default and make sure the deployment runs in a safe order.
On write-heavy tables, adding a column can lock the table for seconds or minutes depending on your database engine. PostgreSQL, MySQL, and SQL Server each have different behaviors. Some support instant column adds for certain types, others rewrite the entire table. In distributed databases, adding a column may propagate schema changes asynchronously, leading to temporary mismatches.