Когда выбор дефиса или тире меняет смысл
Сначала база.
Дефис — это знак внутри одного слова (#орфография), тире — это знак между словами (#пунктуация).
Есть случаи волшебного превращения одного знака в другой. Например, «школьник-победитель» пишется с дефисом, а «школьник — победитель олимпиады» — уже с тире.
Правило: в сочетаниях с приложением дефис заменяется тире, если одна из частей содержит пробел. Иными словами, когда или приложение, или определяемое — не одно слово, а сочетание слов.
А вот встретилось выражение, когда написанное по недосмотру тире (вроде как сочетание слов есть после дефиса) изменит смысл на комический:
программы-помощники Ивана Иванова — Иван Иванов создал программы-помощники;
программы — помощники Ивана Иванова — существуют программы, которые являются помощниками Ивана Иванова.
Последний смысл не подходит — а значит, остается дефис: приложение к слову «программы» только «помощники», но не словосочетание «помощники Иванова».
Другой случай — «наоборотный»: дефис нужно менять на тире. Фраза:
Под воздействием обстоятельств человек-марионетка.
Здесь полноценные главные члены предложения: подлежащее — «человек», сказуемое — «марионетка». Смысл: в таких-то условиях человек является тем-то. Если оставить «марионетка» написанным, как приложение, через дефис, то налицо неполнота высказывания: человек-марионетка что делает? Требуется продолжение. А его нет. Итак, верное написание:
Под воздействием обстоятельств человек — марионетка.