Aauuuggghh! No, no, no!
Canals: Canals only served to move goods. I defy anybody to find an example of division-scale military units being moved on canals such as built in England and the US in the early 1800s.
Trans-shipment canals: Traverse by
ocean-going (deep-keel) vessels requires a very much larger waterway than a "goods canal." Panama, Suez, Kiel, and maybe a couple fresh water examples qualify. Very rare geographical arrangements make these possible. Allowing cities on one-tile-wide ithsmi to become trans-shipment canals is only workable because the movement rates are so ridiculously low anyway.
Rivers: How hard is it to build rafts and small boats? That's what the river movement bonus represents, and that's how big rivers are crossed in the absence of bridges. Crossing a major river only poses a problem in the presence of an enemy force (e.g., Roman palisade and patrols along the Danube prevented the Germanic tribes from crossing in force).
Navicable rivers: Very few rivers are navicable to
ocean-going (deep-keel) vessels for any significant distance inland. Compared to the typical 50-100 mile wide map tile I can think of
one river that would be navicable for more than that distance. Civil War riverboats were built on the river. American revolution/1812 naval conflicts on the Great Lakes were likewise between ships built on the lakes.
Bridges: So far, bridges over deep waters have proven to be engineering challenges exceeding all possible cost benefits. NO OCEAN BRIDGES!

Mountains: Proposal to damage units crossing inhospitable terrain types has been made before, and I think it is a good idea. Deserts should be barriers, not easy passages.
[This message has been edited by Straybow (edited March 19, 2001).]