Rivers flood due to Physical Factor
The river level increases when the discharge increases because a high discharge means there's more water in the channel. This means the factors that increase discharge can also cause flooding:
After a long period of rain, the soil becomes saturated. Any further rainfall can't infiltrate, which increases runoff into rivers. This increases discharge quickly which can cause a flood.
This means there's a lot of runoff. This increases discharge quickly, which can cause a flood.
When a lot of snow or ice melts it means that a lot of water goes into a river in a short space of time. This increases discharge quickly, which can cause a flood.
If a river is in a steep-sided valley, water will reach the river channel much faster becuase water flows more quickly on steeper slopes. This increases discharge quickly, which can cause a flood.
Rivers also flood because of human factors
Trees intercept rainwater on their leaves, which then evapourates. Trees also take up water from the ground and store it. This means cutting down trees increases the volume of water that reaches the river channel, which increases discharge and makes flooding more likely.
Buildings are often made from impermeable materials, e.g. concrete and they're surrounded by roads made from tarmac (also impermeable). Impermeable surfaces increase runoff and drains quickly take runoff to rivers. This increases discharge quickly, which can cause a flood.