Давайте разбираться.
Тире - это пунктуационный знак, поэтому используется между членами предложения.
Пример:
Собака - верный друг человека.
Здесь - называется никак иначе как "тире", потому что стоит между подлежащим, уточним, в виде существительного, собака и сказуемым, также в виде существительного, друг.
Дефис - это орфографический знак, то есть он используется между частями сложного слова или переноса слова с одной строчки на другую.
Здесь всё просто. Любые оттенки: ярко-красный, бордово-лиловый и т.д. пишутся через дефис. Составные слова из двух существительных: ковёр-самолёт также пишутся через дефис.
Более длинно тоже самое можно найти здесь:
На страже вашей грамотности,