Скажу не по правилам, а так, чтобы проще запомнить раз и навсегда.
Дефис - это вообще не знак препинания.
Потому что ставится там, где есть как бы "двойные слова".
Которые пишутся "через черточку". Вот черточка - это и есть дефис.
Кое-кто, кое-где, кое-как, что-то, куда-то, Лебедев-Кумач, Олимпиада-2020, 2-3 дурака и прочее "кое-что".
Тире - совсем другое дело.
Оно ставится там, где есть смысловая (и интонационная) пауза. Как в предыдущей строчке.
Там целая куча правил, когда нужно именно тире, а не, например, двоеточие или запятая.
Но основное отличие от дефиса - именно эта интонационная пауза.
Достаточно просто прочесть фразу медленно и с выражением - и вы сразу поймёте, что дефисом тут и не пахнет.
Или, наоборот, "пахнет".