Untuk memudahkan klasifikasi, berbagai jenis banjir sering diidentifikasi berdasarkan penyebabnya. Banjir terjadi karena berbagai alasan, mulai dari hujan deras namun dapat diprediksi pada musim muson hingga dinding air besar yang tiba-tiba akibat tsunami. Sayangnya, hampir semua badan air berpotensi banjir. Hujan deras dapat memenuhi sungai dan sungai, menyebabkan banjir bandang. Komunitas pesisir dapat menemukan diri mereka dibanjiri oleh air laut dari angin topan.
Banjir bandang terjadi secara tiba-tiba, parah, dan seringkali berpotensi mengancam nyawa. Ketika hujan tiba-tiba atau hujan salju musim semi terjadi di ketinggian yang lebih tinggi, air mengalir turun, mengumpulkan kecepatan saat mengalir. Seringkali, aliran air yang lebih kecil bergabung dengan aliran yang lebih besar berulang kali sampai mereka bertemu di sungai atau dasar sungai. Pada saat itu, sejumlah besar air mengalir begitu cepat sehingga dapat menghancurkan hampir semua hal yang dilaluinya. Pohon, mobil, dan terkadang rumah bisa tersapu oleh air yang deras.
Seperti halnya banjir bandang, banjir muson sering kali disebabkan oleh curah hujan dalam jumlah besar dalam waktu singkat. Banjir bandang, bagaimanapun, umumnya terlokalisir. Hujan muson cenderung mempengaruhi area yang lebih luas, menyebabkan lebih banyak kerusakan dan lebih banyak korban jiwa. Curah hujan muson umumnya berulang beberapa kali dalam satu musim. Setiap curah hujan menimbulkan potensi banjir yang lebih besar karena hujan dalam jumlah besar dibuang ke tanah yang jenuh dan sungai-sungai yang sudah meluap.
Mereka yang berada di daerah pesisir dengan cuaca hangat dapat menemukan diri mereka pada belas kasihan banjir yang disebabkan oleh angin topan. Bersamaan dengan hujan deras yang khas dengan angin topan, penduduk sering kali harus berurusan dengan air laut yang didorong ke dalam komunitas mereka oleh angin kencang. Menambah risiko, banyak pemukiman tepi laut dibangun di atas tanah yang dekat atau sebagian di bawah permukaan laut. Komunitas-komunitas ini seringkali sangat bergantung pada tanggul untuk menahan air laut.
Tidak seperti kebanyakan jenis banjir, tsunami sebagian besar tidak terpengaruh oleh pola cuaca. Gelombang raksasa ini justru disebabkan oleh gempa bumi atau letusan gunung berapi di atau dekat perairan besar. Tsunami adalah salah satu jenis banjir yang paling membawa bencana baik kerusakan harta benda maupun korban jiwa.
Salah satu tsunami paling mematikan yang pernah tercatat adalah Tsunami Samudra Hindia 2004. Tsunami ini diawali oleh gempa bumi di Samudera Hindia dan menimbulkan kerusakan besar di beberapa negara pantai antara lain Indonesia, Sri Lanka, India, dan Thailand. Korban tewas diperkirakan lebih dari 220,000.
Terkadang, konstruksi manusia dan cuaca buruk bergabung membentuk banjir yang mematikan. Bencana seperti itu terjadi pada tanggal 8 Agustus 1975 di provinsi Henan, Cina. Pada hari itu, hujan dengan kekuatan topan membanjiri Bendungan Banquito di Sungai Ru. Dinding air dan puing-puing yang dihasilkan menyapu Ru dengan kecepatan lebih dari 30 mil (sekitar 50 kilometer) per jam. Diperkirakan 26,000 orang tewas dalam banjir, termasuk seluruh 9,600 penduduk kota Daowencheng.