Bendungan berfungsi sebagai penangkap air untuk irigasi, air minum, dan pengendalian banjir, serta dapat dibedakan berdasarkan ukuran, tujuan, penggunaan, cara aliran air, dan konstruksi. Jenis bendungan meliputi bendungan besar dan kecil, serta tipe serba guna atau tujuan tunggal. Selain itu, teknologi konstruksi telah berkembang, memungkinkan pembangunan bendungan dengan ketinggian yang sangat besar.