Toeplitz operators are met in different fields of mathematics such as stochastic processes, signal theory, completeness problems, operator theory, etc. In applications, spectral and mapping properties are of particular interest. In this survey we will focus on kernels of Toeplitz operators. This raises two questions. First, how can one decide whether such a kernel is non trivial? We will discuss in some details the results starting with Makarov and Poltoratski in 2005 and their succeeding authors concerning this topic. In connection with these results we will also mention some intimately related applications to completeness problems, spectral gap problems and P{o}lya sequences. Second, if the kernel is non-trivial, what can be said about the structure of the kernel, and what kind of information on the Toeplitz operator can be deduced from its kernel? In this connection we will review a certain number of results starting with work by Hayashi, Hitt and Sarason in the late 80s on the extremal function.