Ground-Level Winds
A large component of what makes tornadoes move is ground-level winds. Ground-level winds will often form shears: rotating updrafts caused when two winds moving in opposite directions collide. The collision forces the air upward, but the initial winds on either side continue to operate, forcing the apex of the updraft to change position. These updrafts can be 10 miles wide, and hundreds or thousands of feet tall.
Upper-Level Winds
Several hundred or thousand feet above the source of the updraft, upper-level atmospheric winds may be moving at entirely different directions. Because the air from the updraft is warmer and often has more force, these upper-level winds split, sliding along the top of the updraft. This motion causes the suction and pulling effect for which tornadoes are famous, and also helps tornadoes move. When upper-level winds die down, the tornado loses suction, and the tail slowly dissipates.
Gusts
Gusts can also force tornadoes to move, especially if the gusts have warm enough winds to speed the cyclical movement of the updraft. Gusts will usually force tornadoes to move along the path that the shear created, but in some cases may overpower both shear forces, forcing the tornado to adopt a new path.
Limits to Movement
No known limits exist to how far a tornado can move or where one may form. According to PhysicalGeography.net, in 1917, a tornado traveled 570 km across Illinois and Indiana, lasting well more than seven hours. That's roughly 350 miles logged for a single tornado. Most, however, will rarely travel so far -- or last so long. Most tornadoes are weakly formed, and dissipate within an hour of forming. Some tornadoes, called waterspouts, can even form and move over water bodies.