Faktor utama yang mengakibatkan terjadinya banjir rob adalah kenaikan permukaan air laut, penurunan muka tanah dan abrasi pantai dalam hal ini di daratan pesisir.
Penurunan muka tanah merupakan faktor yang meningkatkan intensitas banjir rob di beberapa wilayah pesisir pantai utara Pulau Jawa terutama di DKI Jakarta, Bekasi, Karawang, Pekalongan, Semarang, Demak dan Gresik.
Banjir rob akan semakin parah dengan adanya genangan air hujan, banjir kiriman, serta banjir lokal akibat saluran drainase yang buruk. Mengutip dari kanal kebencanaan Geografi Universitas Gadjah Mada (UGM), banjir rob juga dapat disebabkan oleh faktor-faktor eksternal yaitu sebagai berikut:
- Dorongan air
- Angin, atau swell (gelombang yang bergerak dengan jarak sangat jauh meninggalkan daerah pembangkitnya)
- Badai di laut
- Pencairan es kutub yang dipicu oleh pemanasan global
- Aktivitas manusia yang dapat memicu munculnya banjir rob, misalnya air tanah yang berlebihan, pengerukan alur pelayaran, hingga reklamasi pantai
Selain itu, eksploitasi lahan pesisir oleh manusia dapat menyebabkan penurunan muka air tanah yang memicu penurunan permukaan tanah dan intrusi air laut.
Beberapa akibat yang disebabkan oleh banjir rob, seperti:
- Rusaknya bangunan karena air laut bersifat korosif
- Menurunnya baku mutu air tanah dan air permukaan karena genangan air laut di daratan menyebabkan tingginya tingkat salinitas
- Kerusakan lahan tambak
- Hilangnya lahan di pesisir karena daerah pantai tenggelam sehingga tidak dapat dimanfaatkan lagi
- Abrasi bibir pantai sehingga garis pantai semakin mundur
Ke depannya, efek banjir rob diprediksi semakin besar akibat kenaikan permukaan air laut oleh pemanasan global dan penurunan permukaan tanah oleh penyedotan air tanah yang tidak terkendali.
Membuat pemecah ombak atau membuat tembok-tembok laut di sepanjang pantai adalah beberapa langkah yang bisa ditempuh untuk mengatasi banjir rob. Selain itu bisa juga dengan membuat tanggul, meninggikan lantai rumah, membuat saluran air di sekitar rumah, dan penanaman pohon bakau.