Because building canals and maintaining them is expensive. When you dig up load of dirt, it needs to go somewhere, and that costs money. Constant maintenance costs money. Also big ships need really big canals. As ships get smaller to fit in to small canals you lose efficiency quick. Ships efficiency comes from the open sea and being able to accelerate slowly.
But we do use ships primarily, but from the shipyard things tend to go to trucks. This is because (cargo) rails kinda have lost the game because places used to be conviniently connected them, now they no longer are and if they are they are connected to wrong parts since towns and cities grew but rails stood where they are.
However basic cargo might not move by rail, but bulk cargo does.
Latest Answers