This page gives a technical overview of how library overrides are implemented. The goal is to only give an overview of what is already in the code-base, but does not go into the exact details how it is implemented.
More details on current development can be found on the Overrides project page.
This documentation uses the terms 'datablock' and 'ID' interchangeably.
Library overrides are essentially local, and thus editable, datablocks copied from linked ones. They are defined at a datablock level, in the ID data structure. This defines the granularity: a datablock is either overridden or it is not -- there are no partial overrides.
However, Blender keeps track of which part of the datablock was edited. That way, changes to the originally linked datablock can be merged with the overrides. This process happens every time when opening a .blend file. As a result, library overrides behave like a hybrid of local data (it can be edited) and linked data (changes in the library file get pulled in).