Can "refrain" and "avoid" be used interchangeably for everything?
"Refrain" feels like something to use about "verbal behaviour", whereas "avoid" feels like it's about something physical. Is it?
Solution 1:
No, of course they are not interchangeable for everything. They are different words. Two different words are by definition not interchangeable for everything.
Beyond that, refrain from refers to not doing something. Avoiding something is not the same. Avoiding doing something is less strong/absolute than refraining from doing it.
You can avoid overeating, but still overeat sometimes. If you really do refrain from overeating then you do not overeat, period.
A better synonym for refrain from is abstain from, not avoid.
Solution 2:
It's also easy to get avoid confused with a similar word, evade.
Refrain is to resist doing. Avoid is to stay clear from.