Impossible to update some modules via Composer
Major version changes contain breaking/incompatible changes in SemVer / Semantic versioning. If you would update them, it would break modules that depend on the old version. Therefore most projects lock composer entries to one specific major version number. Also doing a default composer require vendor/project - without denoting an explicit version number - will create an entry locked to the current major version number.

The common way for a major version change is to explicitly composer require a new major version, but this usually means manually doing extra upgrade/migration steps outside of composer.