If the product of two non-zero square matrices is zero, then both factors must be singular. In the textbook Contemporary Linear Algebra by Anton and Busby, there was a small question in section 3.2 page 101 concerning this. It asks if $A$ and $B$ are two non-zero square matrices such that $AB=0$, then $A$ and $B$ must both be singular. Why is this so? 
I can prove that if $A$ is non-singular then $B=I_nB=A^{-1}AB=0$, implying $B$ must be the zero matrix which is a contradiction. Similarly if $B$ is non-singular, then $A$ must be the zero matrix. Hence, both must be singular. But this doesn't really answer why, it just shows a contradiction for any case and hence must be the negation of our supposition that at least one is non-singular.
I would like to know the essence and inherent property as to why they must be both singular (and why can't it be the case that only one is singular?) and what is the motivation for such a conclusion?
 A: The argument that you gave does indeed work and proves the claim.
If you are not "philosophically" satisfied with it, you may look at it in this way. Recall that matrices can be identified to linear transformations (once bases are fixed) and that the product of matrices correspond to composition of transformations. Also, non singular matrices correspond to automorphisms.
Now you can translate the claim into the following. Suppose that you have linear transformations $f$ and $g$ such that the composition
$$
V\stackrel{f}{\longrightarrow}V\stackrel{g}{\longrightarrow}V
$$
is the $0$-map. Suppose that, say, $g$ is an automorphism. Then, if $f$ is not the $0$-map, the subspace $W={\rm im}(f)$ is not trivial. But now, since $g$ is an automorphism, we must have $g(W)=g\circ f(V)\neq\{0\}$ contradicting the assumption.
A symmetric argument deals with the case when $f$ is an automorphism. Thus we conclude that neither $f$, nor $g$ can be automorphisms. 
A: Perhaps it would be helpful to think in terms of the associated linear transformations $T_A$, $T_B$, and $T_{AB}$. You perhaps know that $T_{AB}=T_A\circ T_B$. If $AB$ is zero, then $T_{AB}$ is the zero transformation that sends every vector to $\vec 0$. That means that $T_A\circ T_B$ must do the same thing. This means that $T_A$ has to ‘kill off’ every non-zero vector in range of $T_B$, if there are any. 
Since $T_B$ isn’t the zero transformation, there must be at least one vector that it doesn’t kill off, so $T_A$ has to send at least one non-zero vector to $\vec 0$. But this means that it can’t be invertible: it ‘collapses’ two vectors together, and there’s no way to ‘un-collapse’ them.
On the other hand, $T_A$ isn’t the zero transformation either, so there’s at least one vector $v$ such that $T_A(v)\ne\vec 0$. If $T_B$ were invertible, that $v$ would have to be in the range of $T_B$, i.e., there would have to be some $u$ such that $v=T_B(u)$. But then $T_A\circ T_B$ wouldn’t kill off $u$, so it wouldn’t be the zero transformation after all. Thus, $T_B$ can’t be invertible either.
A: I'm just browsing around looking at old questions but I thought I'd add to this. The question already has great answers, but like many questions in linear algebra there are many different (and often equivalent) ways to demonstrate some particular fact. For the sake of future readers, these might be interesting or helpful.
1. Canceling out
I'll start by boiling down the approach mentioned in the question to this:
If $AB=0$, then:
$A^{-1}$ exists $\Rightarrow$ $B=0$ (just "cancel out" the $A$ by left-multiplying $A^{-1}$)
$B^{-1}$ exists $\Rightarrow$ $A=0$ (just "cancel out" the $B$ likewise)
So the fact that $A\ne 0$ and $B\ne 0$ tells us that neither matrix is invertible (we are using the logical contrapositives of the two statements above). This all rests on the idea of "canceling out" a non-singular matrix.
2. Matrix Rank
Every matrix has a quantity called rank associated to it. The way rank is introduced in my experience is often as a consequence of row-reduction -- the rank is the number of pivot columns (same as the number of nonzero rows) after a matrix is put into row-echelon form.
In particular, the zero matrix has rank zero, so what we have tells us $\mathrm{rank}(AB)=0$. If $A$ is an invertible $n\times n$ matrix, then $\mathrm{rank}(A)=n$.
But there are two facts about rank that we can employ here:


*

*Not only is $\mathrm{rank}(0)=0$, but the zero matrix is the only matrix with zero rank.

*If $A$ is invertible, then $\mathrm{rank}(AB)=\mathrm{rank}(B)$.
We can make the same sort of deduction as before:
$A$ invertible $\Rightarrow$ $\mathrm{rank}(B)=\mathrm{rank}(AB)=0$ $\Rightarrow$ $B=0$
$B$ invertible $\Rightarrow$ $\mathrm{rank}(A)=\mathrm{rank}(AB)=0$ $\Rightarrow$ $A=0$
and thus, as above, we know neither matrix could be invertible.
3. Conclusions
As I mentioned, these answers (and those by other users) are all equivalent: A linear transformation has something called rank that is equivalent; The linear independence of columns/rows of a matrix can tell you about its rank... and so forth.
To try to take a stab at the heart of your question, you ask what is the essential or inherent reason why they must both be singular which I would actually rephrase:
What is the essential or inherent reason why one being non-singular forces the other to be zero?
If a square matrix is non-singular, it can be (in some way or another) removed from the equation, meaning the other one remains and is zero. This may be by cancellation, by using rank, by re-framing the question as linear transformations, or by breaking down a matrix product into a set of linear equations -- methods that are all really the same.
If you think of matrices as living in three possible categories, either non-singular, singular (but not zero), or zero, it's interesting that we know:


*

*$AB$ being non-singular implies $A$ and $B$ are both non-singular.

*$AB$ being singular implies one of $A$ or $B$ is singular.

*$AB$ being zero implies both of $A$ and $B$ are singular unless one of them is zero.
The last statement is what we just discussed, the other two follow immediately from the fact that $\det(AB)=\det(A)\det(B)$.
These three rules often apply in other contexts with zero-divisors, like modular arithmetic.
A: As Thomas points out, your proof is fine, but if you want another way to look at it, consider the following:
Suppose $AB = 0$.  What is the $j$-th column on either side of this equation?  On the left, it is a linear combination of the columns $\{\mathbf a_j\}$ of $A$, with coefficients from the $j$-th column of $B$, and on the right is the 0 vector:
$$b_{1j}\mathbf a_1 + b_{2j} \mathbf a_2 + \cdots + b_{nj}\mathbf a_n = \mathbf 0$$
This is true for each $j$, and there must be at least one non-zero $b_{ij}$ coefficient, since $B\neq 0$, so the columns of $A$ are linearly dependent.
Similarly, we can ask what are the rows on each side of the equation?  The $i$-th row is a linear combination of the rows of $B$, with coefficients from the $i$-th row of $A$.  So you see that the rows of $B$ must be linearly dependent.
A: as AB is a O matrix its determinant has to be 0
so |AB| = |A| |B| = 0 so either |A| = 0 or |B| = 0
see for example
1 2 3
4 5 6
7 8 9
is a non 0 matrix but its determinant is 0
A: Given AB=0.  This means  col space of B is contained in Null Space of A.  If B is non singular then this is possible if and only if Null Space of A is R^n where n is order of matrices.  Hence A is singular.  If B is singular nothing to prove
