In my experience, direct solvers can work on problems as large as 0.5M unknowns, but once you get to that size they are very slow. And beyond that size they simply choke. For small problems they are much faster than iterative methods, but they scale poorly. So, as the problem size increases, you eventually reach a point where they are slower. Where, exactly, that point is, is somewhat problem dependent.