Why isn't removing zero rows an elementary operation? My prof taught us that during Gaussian Elimination, we can perform three elementary operations to transform the matrix:
1) Multiple both sides of a row by a non-zero constant
2) Add or subtract rows
3) Interchanging rows
In addition to those, why isn't removing zero rows an elementary operation? It doesn't affect the system in any way. Define zero rows to be a row with no leading variables.
For example isn't $\begin{bmatrix}a & b & k\\c & d & m\end{bmatrix} \rightarrow 
\begin{bmatrix}a & b & k\\c & d & m\\0 & 0 & 0\end{bmatrix}$

Aside: which row operations are called elementary is purely a matter of convention: we can pick any operations we want to be called the elementary ones. Those three are the ones we chosen.

The problem is that row operations are formal things. e.g. there is a row operation called "multiply the first row row by 5", but there is not a row operation called "multiply the first row by 5 if its first nonzero entry is 0.2".
Along those lines, "remove a row" is a row operation, but "remove a zero row is not".
"Add a zero row" is a row operation, though.

Those zero rows are useful -- or, more accurately, you need to remember what row operations you performed to make that zero row. If $R$ is the matrix that accumulates all of your row operations, then when trying to solve
$$Ax = b$$
you can inspect
$$ RAx = Rb$$
and know that there are no solutions if $Rb$ has a nonzero entry in the position where  $RA$ has a zero row.
It's also useful for finding left null vectors to your matrix: if $RA$ is in row echelon form, then the rows of $R$ that correspond to zero rows of $RA$ are a basis for the left nullspace of $A$.
If you do the row operation to eliminate the zero row, you've forgotten all of that useful information.
