The difference between a full and a sparse matrix in MATLAB is not really a mathematical one (because all calculations should work correctly either way), but more a matter of how the entries of the matrix are stored.
The MATLAB documentation links to this paper for more information and the following example is given there:
A = [0 0 11; 22 0 0; 0 33 0]
generates a full matrix, which can be displayed as
0 0 11
22 0 0
0 33 0
This means that all the zeros are actually stored explicitly in memory, because also the number $0$ needs the same amount of memory as every other number does.
If the full matrix is transformed to a sparse matrix with the command
S = sparse(A)
it is displayed (and stored in memory) as
You can see here that only the nonzero entries of the matrix and in addition their positions inside the matrix are stored, whereas the zero elements are ignored and all entries of the matrix which are not present in the $(i,j)$-coordinates are implicitly assumed to be zero.
If a matrix has a large number of zeros, this way of storing it saves a lot of memory: If you have a $n\times n$ -matrix with $m$ nonzero elements, it needs $n^2$ units of memory to be stored as a full matrix, but $3m$ units of memory to be stored as a sparse matrix (assuming that storing the positions $(i,j)$ needs 2 units of memory). If $m$ is much smaller than $n^2$, i.e. the matrix is sparse, then you will see that $3m$ is of course also much smaller than $n^2$.