In Barrage, the entire length across a river that is between the banks is provided with gates having their bottom level touching the river bed level. Therefore the water storage behind Barrage is totally dependent on Height of its gates.
In Dam, there are spillway gates near its top level and the storage of water behind the dam is mainly due to the height of the concrete structure and partially due to the height of the gate.
A Barrage is a diversion headworks it's main aim is to divert the flow of river it does not have a storage reservoir on its upstream side. The water is elevated only to few feet.
A Dam on the other hand is a storage headwork so the main aim of dam is to create a storage reservoir on the upstream of the dam. Dams are mostly multipurpose projects used for Irrigation, hydroelectric power, Flood control, recreation etc.