Broadly speaking, the words can be broken up as follows:
- 止まる{とまる} and 止める{とめる}
- 止む{やむ} and 止める{やめる}
- 止まる{とどまる} and 止める{とどめる}
- Exceptions: 止す{よす} and 止す{さす}
The first three groups are made up of pairs where the first is intransitive, and the second is transitive. The fourth group contains two verbs that lack this pattern.
For the first group (止まる{とまる}/止める{とめる}), they have a meaning of "stop" as applied to a person or object.
Meanwhile, the second group (止む{やむ} and 止める{やめる}) are about stopping actions.
The third group of 止まる{とどまる} and 止める{とどめる} contain the idea of stopping as keeping or remaining. In other words, it is a kind of "stop" before even starting.
止す{よす} is pretty close to 止める{やめる} in meaning, with some different nuances. And 止す{さす} is an auxiliary verb that adds the meaning "stop in the middle of."
Below I have a more detailed breakdown of each case, along with the kanji that can be used for it. I'm not including archaic uses.
とまる:
- To physically stop moving/halt. (止まる/留まる/停まる)
- To come to a stop in a more abstract sense (ie: stop growing, the road stops, etc). (止まる/留まる/停まる)
- To perch. (止まる/留まる/停まる)
- To be fixed/pinned in place so to be unable to move (留まる)
- Used along with 目/耳/心 to indicate that it got your attention/made an impression. (止まる/留まる/停まる)
- Used in the expression お高くとまる with a meaning of something like "Self-important." (止まる/留まる)
- To spend (usually a single) night. (泊まる)
- To dock at a harbor. (泊まる)
停まる isn't a 常用 reading, and thus is much less common in general. The nuances between the three main readings are that 留 implies a longer/permanent stop, while 停 implies a short, temporary one. 止まる effectively is the "default" one, and could either be a temporary stop or a permanent one.
とめる
- To stop something that is physically moving. (止める/停める)
- To stop something from continuing in a more abstract sense (ie: growth or supply) (止める/停める)
- To park (a car). (止める/停める/駐める)
- To fix/pin something in place so it can't move. (留める)
- To break up a fight. (止める)
- To detain/keep in custody. (留める)
- Used with 目/耳 to mean "watch/listen closely." (止める/留める/停める)
- Used with 心/気 to mean "keep in mind." (留める/停める)
- Used with 息 for "to hold one's breath." (止める)
- To accommodate someone for a stay (usually a single night). (泊める)
- To anchor a ship. (泊める)
In the meanings where multiple can be used, there remains the nuance of 留める being long-term and 停める being temporary, while 停める is the rarest of the trio. In the case of 3, 駐める takes the place of 留める to be the "long term" one, though its pretty rare to see it at all.
やむ
- A natural phenomenon (like wind or rain) has come to a stop.
- (For an event) to come to a stop.
- Used in a few specific expressions like やむを得ない and やむに止まれず.
It can be written both 止む and 已む, and both ways can be used for any of the meanings. Neither is 常用, but the nuance for writers that observe it is that 止む is used for a temporary stop, while the 已む used for a final one. Also, 止む is just more common in general.
やめる:
- To stop doing some (present) action. (止める/已める)
- To cancel a plan. To not do what you planned. (止める/已める)
- To quit a habit. (止める/已める)
- To quit/resign from a job or position. (辞める)
Like with 止む, 已 is used for something more long term than 止. And again, neither are 常用. But note that 已める is much rarer to see than 已む, so expect to see 止める if kanji is being used.
止す{よす}:
- To stop doing some (present) action.
- To cancel a plan. To not do what you planned.
It normally is written in kana. Also, it usually has its object marked with は rather than を.
とどまる:
- To be in a single place/position and not move. Only used with people, not objects.
- To stay behind. Generally there is an implication of "as opposed to going to some place." Again, only used with people, not objects.
- To not exceed. To remain within.
None of the kanji readings are 常用, and it is usually written as kana. When kanji are used, its usually 留まる.
とどめる:
- To hold back.
- To keep/preserve something in it's original form, particularly the memory of something.
- To keep within a certain range/level.
- Uses 7 and 8 from とめる, though some of the details are different.
None of the kanji readings are 常用, and it is usually written as kana. When kanji are used, its usually 留まる.
止す{さす} is just an auxiliary verb for "stop in the middle of" for whatever the main verb is, and it is usually written in kana.
I'm not a native Japanese speaker, so please feel to correct any mistakes. My sources for this were: