Floods are among the most destructive natural disasters, which are highly complex to model. The research on the advancement of flood prediction models has been contributing to risk reduction, policy suggestion, minimizing loss of human life and reducing the property damage associated with floods. To mimic the complex mathematical expressions of physical processes of floods, during the past two decades, machine learning (ML) methods have highly contributed in the advancement of prediction systems providing better performance and cost effective solutions. Due to the vast benefits and potential of ML, its popularity has dramatically increased among hydrologists. Researchers through introducing the novel ML methods and hybridization of the existing ones have been aiming at discovering more accurate and efficient prediction models. The main contribution is to demonstrate the state of the art of ML models in flood prediction and give an insight over the most suitable models. The literature where ML models are benchmarked through a qualitative analysis of robustness, accuracy, effectiveness, and speed have been particularly investigated to provide an extensive overview on various ML algorithms usage in the field. The performance comparison of ML models presents an in-depth understanding about the different techniques within the framework of a comprehensive evaluation and discussion. As the result, the paper introduces the most promising prediction methods for both long-term and short-term floods. Furthermore, the major trends in improving the quality of the flood prediction models are investigated. Among them, hybridization, data decomposition, algorithm ensemble, and model optimization are reported the most effective strategy in improvement of the ML methods. This survey can be used as a guideline for the hydrologists as well as climate scientists to assist them choosing the proper ML method according to the prediction task conclusions.