Strait is a narrow water-body interconnecting two much larger water bodies (e.g., Singapore and Malacca Straits connect the Bay of Bengal and the South China Sea). Water flow is in both directions and is tidal. Most importantly, straits are naturally formed without human intervention.
Channels can simply be defined as wider Straits. They have the same characteristics as the Straits, only that they are bigger and have more navigable water (e.g., the English Channel).
Canals (e.g., Suez Canal) are defined as man-made straits. It is an artificial waterway constructed to facilitate trade between otherwise dangerous routes or to cut short distances between natural routes.