In many applications where the data is modeled by a graph, the number of edges is typically NOT dense. That is, it is much smaller than in a complete graph where every pair of vertices is connected by an edge.
This means the adjacency matrix would be very sparse (lots of 0's) and some properties would not be very efficient; e.g. getting the degree of a vertex must examine all N entries in a row even though many will be 0.
Adjacency lists are often chosen for the representation. (See section 4.1 for more discussion of why/when this is the better choice.)