A common workflow is that you may have an existing component in a library. You may have a project which involves updating that component. For the duration of the project you may need to insert multiple instances of it into designs. Once the project is finished, you want to merge it back into the main library.
If you could branch from a library file, make your changes but then use that branch as a library, until it’s ready to merge back in, that would be incredibly useful.
The alternative is much less efficient, as you would end up having to either detach or create a separate library file somewhere, and then manually replace the original component at a later date.