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