A requirement (more specifically a requirement version) needs to be finalized before it is considered ready for fulfillment and validation. Finalization typically involves having one or more reviewers review the requirement specification for accuracy and completeness. Reviewers are typically those who have a stake in the correct release of the feature that the requirement specifies.
A requirement version owner and/or co-owners usually completes the specification and then sends it for review to the reviewers. Reviewers can then choose to accept the specification for finalization or can request changes. If changes are requested, the owner of the requirement version can retract it back for editing to make the requested changes and then send it for review again.
Only when all reviewers have given their acceptance in the review process can the owner or co-owner then mark it as FINAL. Once the requirement version if marked as FINAL, it can no longer be edited. But a new version can be derived.
A requirement version owner or co-owner can choose to self-approve it instead of sending it for review. That is a policy decision of the project team. Self-approving a requirement version also results in the version being marked as FINAL.