A Changeset can be marked as Published, which prevents any further changes to the changeset. A special environment permission called Unpublish is required to be able to convert the Changese back into an editable state.
An environment that has been configured as a Production environment will not permit a Changeset to be run unless it has been Published. The intention here is to enforce the change control process for production environments.
Once a Changeset has been created it is Published and it enters into the change control process and scheduled for release. The Changeset can only then be modified by a higher privileged user and they must intenternally unpublish the Changeset to be able to perform any changes.
If this behaviour is not desired, simply no do configure any of your environments as Production.