Graph: Sparse vs Dense
A sparse graph is one where there are relatively few edges, i.e. $M$ is closer to the lower bound $\Omega(N)$.
A dense graph is one where there are many edges, i.e. $M$ is closer to the upper bound $O(N^2)$.
Graph representation (implementation) choice will depend on whether the problem at hand is more likely to be a sparse or dense graph!
If your graph is sparse, adjacency list representation will be more efficient (in terms of space complexity).