A lot of adaptive FEM libraries use more advanced mesh data structures to handle adding/removing nodes, edges, triangles, tetrahedra, etc. For example, the p4est library uses octree data structures for adaptive mesh refinement; you wouldn't often find octrees used for computations on a static mesh.
What changes on the linear algebra side for adaptive FEM?
The most blunt way I can conceive of would be to completely rebuild all the system matrices whenever the mesh is refined or coarsened. If mesh adaptation is a sufficiently infrequent operation, then the expense of doing so is ultimately amortized over the rest of the computation. One could easily leverage existing sparse linear algebra software (PETSc, Trilinos, etc.) with this approach.
Is this blunt method the most commonly used, or are there libraries that manage to reuse or modify the old matrix during refinement? After all, most of the mesh and the corresponding matrices are unchanged during a mesh adaptation.