Why is civilization developed on the banks of river?

The reason why civilizations are developed on river banks is because there is water,food(fish,other animals that come to drink),defensive location,and transportation.