Linear systems involving singularity arise in a wide range of applications throughout computational science and engineering. This article aims at presenting and discussing iterative methods for solving linear systems with singularity, with an emphasis on stationary (matrix splitting) and Krylov subspace iterative methods and preconditioning techniques. For singular matrices, conventional preconditioners based on incomplete matrix factorizations may break down, whereas particular stationary iterative methods combined with Krylov subspace methods may avoid breakdown. Although classical stationary iterative methods have been regarded as slow to converge, recent stationary iterative methods have convergence speed competitive with Krylov subspace methods, and may dramatically improve the convergence of Krylov subspace methods when applied as preconditioners. We present recent results on their convergence theories in general and for particular problems such as saddle point systems and least squares problems.