Middle English stoppen, "obstruct (a passage) with a physical barrier; close up by filling, stuffing, or plugging," from Old English -stoppian (in forstoppian "to stop up, stifle"), a general West Germanic word, cognate with Old Saxon stuppon, West Frisian stopje, Middle Low German stoppen, Old High German stopfon, German stopfen "to plug, stop up," Old Low Frankish (be)stuppon "to stop (the ears)." Related: Stopped; stopping.
These words are said by many sources to be a Germanic borrowing of Vulgar Latin *stuppare "to stop or stuff with tow or oakum" (source of Italian stoppare, French étouper "to stop with tow"), from Latin stuppa "coarse part of flax, tow." In support of this theory, it is said that plugs made of tow were used from ancient times in the Rhine valley. Century Dictionary says this "suits phonetically," but "is on grounds of meaning somewhat doubtful." Barnhart, for one, proposes the whole Germanic group might be native, from a native base *stoppon.
Senses having to do with "bring or come to a halt; discontinue or cause to cease from a course or action" developed in 15c. in English (but have been adopted in other languages). They extend from the notion of "prevent a flow by blocking a hole," and in some cases the sense might have been influenced by Latin stupere "be stunned, be stupefied."
The transitive sense of "hinder from progress or procedure, put a stop to" (a thief, a clock, conception) is by late 14c., as is that of "hold (someone or something) back from a specified course or purpose." By c. 1400 stop could mean "shut (someone in something), confine, shut away from." By 1400 stop also was used as "prevent the continuance of" and by 1520s intransitively as "cease from forward motion, come to a stand."
The transitive meaning "leave off, desist" is by 1520s; the intransitive meaning "check oneself" is 1680s. Of travelers, "make a halt or stay, tarry," by 1711. Of immaterial things, "discontinue, cease, come to an end," by 1733. In reference to the ears "to plug or cover," early 14c.