The Adjacency Matrix is fast for checking edges, but it has a huge flaw: Memory. It requires space.
If , you need million cells. If , you need billion cells. That exceeds typical memory limits. Most competitive programming graphs have up to or but only up to edges. Storing cells when you only have connections is wasteful. You need something more efficient for sparse graphs.