As you can see, minecraft rivers are often broken up in such a way that using them for travel is very painful.
The datapack uses features to carve into the terrain wherever it would block the river, allowing easy navigation.