Library nodes have almost no differences from custom nodes, except that they are stored in libraries (unlike custom nodes, which are stored in action files) and are available in any action. Also, for obvious reasons, you can’t use custom nodes inside library nodes (unlike custom nodes, where this is possible). This also leads to another limitation – you cannot convert a custom node to a library node (by copying and pasting it into the library) if this custom node uses any custom node inside.
You can create a new library node by converting a custom node to a library node, or by using the Libraries tool.
Library nodes are contained in separate files – libraries. When inserting them into an action, you do not insert the entire algorithm of the library node into the action, but only a reference to this node. This has the advantage that action files that use library nodes take up less disk space than if the entire library node algorithm were stored in the action. It also makes it possible to change the algorithm of a node in only one place, to propagate this change to all actions that use this node.