Consider a commutative square in a category $\mathcal{C}$
$$\begin{array}{ccc}
A&\rightarrow&B\\\
\downarrow&&\downarrow\\\
C&\rightarrow&D
\end{array}$$
Suppose $\mathcal{C}$ is abelian. If this square is a pull-back and $B\rightarrow D$ or $C\rightarrow D$ is an epimorphism, then this square is also a push-out square. Dually, if this square is a push-out and $A\rightarrow B$ or $A\rightarrow C$ is a monomorphism, then this square is also a pull-back square. ¿Are there more general kinds of categories were such things happen?



Pull-backs which are push-outs
Yes! [Pretoposes](http://ncatlab.org/nlab/show/pretopos) (and in particular toposes) also have this property. It is a remarkable fact that pretoposes (which you can think of as having the first-order exactness properties of toposes or $Set$-like categories) have "most" of the same exactness properties as abelian categories (see below). 


In fact, this is the beginning of a remarkable set of observations due to Peter Freyd, and expounded by him in a [discussion](http://www.mta.ca/~cat-dist/catlist/1999/atcat) at the categories mailing list, which led to a sharp distinction between pretoposes and abelian categories as concentrated particularly in the behavior of the initial object. (In an abelian category, $A \times 0 \cong A$, whereas in a pretopos $A \times 0 \cong 0$. But this is practically the only essential difference.) In fact, Freyd showed that abelian categories and pretoposes are special cases of what he dubbed "AT categories", which contain the core exactness properties which are common to abelian categories and pretoposes. AT categories cut so close to the essence of each of these two special cases that in fact every AT category splits cleanly as a product of an abelian category and a pretopos! 


I wrote up my own account of this in the nLab, [here](http://ncatlab.org/nlab/show/AT+category). 


