Their main difference of 'artificial waterway' vs 'natural waterway' is clear from their etymology. Actually canal comes from Latin "canna" (reed).
early 15c., from French canal, chanel "water channel, tube, pipe, gutter" (12c.), from Latin canalis "water pipe, groove, channel," noun use of adjective from canna "reed" (see cane (n.)). Originally in English "a pipe for liquid," its sense transferred by 1670s to "artificial waterway."
early 13c., from Anglo-French rivere, Old French riviere "river, riverside, river bank" (12c.), from Vulgar Latin *riparia "riverbank, seashore, river" (source also of Spanish ribera, Italian riviera), noun use of fem. of Latin riparius "of a riverbank" (see riparian). Generalized sense of "a copious flow" of anything is from late 14c. The Old English word was ea "river," cognate with Gothic ahwa, Latin aqua (see aqua-). Romanic cognate words tend to retain the sense "river bank" as the main one, or else the secondary Latin sense "coast of the sea" (compare Riviera).