Accurately predicting the magnitude and timing of floods is an extremely challenging problem for watershed management, as it aims to provide early warning and save lives. Artificial intelligence for forecasting has become an emerging research field over the past two decades, as computer technology and related areas have been developed in depth. In this paper, three typical machine learning algorithms for flood forecasting are reviewed: supervised learning, unsupervised learning, and semi-supervised learning. Special attention is given to deep learning approaches due to their better performance in various prediction tasks. Deep learning networks can represent flood behavior as powerful and beneficial tools. In addition, a detailed comparison and analysis of the multidimensional performance of different prediction models for flood prediction are presented. Deep learning has extensively promoted the development of real-time accurate flood forecasting techniques for early warning systems. Furthermore, the paper discusses the current challenges and future prospects for intelligent flood forecasting.