I have to solve an ill-conditioned sparse matrix. Once I read that iterative solver are the better tool for such problems. Is that true? If yes, why?
Your question really doesn't admit a simple answer- we need to know more specifics about your problem to provide a useful answer.
In general, iterative methods can be faster than direct factorization for large sparse systems of equations if the system is reasonably well conditioned or if it is badly conditioned but you have a good preconditioner or if you will apply regularization to help improve the conditioning of the problem. Another important issue is whether you need an extremely precise solution or whether you're willing to live with a less accurate solution.
In deciding between the approaches it's important to know:
How big are your systems of equations?
Do they have any special structure (e.g. symmetric and positive definite.)
How badly conditioned are the systems of equations?
Is there an available pre-conditioner if the system is not well conditioned?
How accurate an answer do you need?
Are you willing to use some kind of regularization to improve any ill-conditioning?