The main distinction between a tornado and a waterspout is that a tornado occurs over land while a waterspout occurs over water. First, the similarities will be covered. They are both pendant from a cumuliform cloud. They both have a rapid rotation of air. Also, they are both classified as tornadoes, with a waterspout being a type of tornado.

A difference between the two is that a waterspout tends to be weaker. The force of friction is weaker over water thus there is less air available to be drawn into the circulation. An exception to a waterspout tending to be weaker is when a mesocyclonic tornado over land moves over water such as over a lake. Mesocyclonic tornadoes over land tend to be stronger than waterspouts and waterspouts are typically produced from a cumuliform cloud that may not necessarily have an intense mesocyclonic circulation.

Below is my basic artistic attempt :) at demonstrating the main difference between a tornado and a waterspout. The tornado is over land and the waterspout is over water.