The notion of cofibration is dual to that of fibration. See there for more details.
A cofibration is a member of a distinguished class of cofibrations in one of the several setups in homotopy theory:
Quillen categories of models for homotopy theory
the categories with cofibrations of Baues
In traditional topology, one usually means a Hurewicz cofibration.
In category theory and descent theory, Grothendieck however introduced a notion of cofibered category or cofibration, whose definition is categorically dual to that of a fibered category and based on the generalization of the universal property of coCartesian squares; however it does not correspond to the extension property in topology, but to a lifting property, like for fibrations. For that reason, Gray suggested (and this is to some extent adopted in $n$lab) to call such categories opfibrations. In the quasicategorical setup, the generalizations of fibered categories are called Cartesian fibrations, and the generalizations of op/co-fibered categories are called coCartesian fibrations. In the $1$-categorical setup, the coCartesian arrows in op/co-fibrations are indeed the ones which complete coCartesian squares in the special and most important case of domain opfibrations.
relative cell complex inclusions are the cofibrations in the classical model structure on topological spaces
closed Hurewicz cofibration are the cofibrations in in the Strøm's model category on Top
monomorphisms are the cofibrations in Cisinski model structures such as the classical model structure on simplicial sets
Cofibrations are usually defined in such a way that they are stable at least under the following operations in the category under consideration
(Please mind the precise definitions of the category you are using. Also compare the stability properties of the dual notion fibration.)