Это выражение появилось на основе поговорки: “Собаку съел, а хвостом подавился”. Смысл поговорки в том, что человек сделал что-то очень сложное, но мелочь вызвала у него затруднения. Сокращенная версия поговорки - “Собаку съел”. Эта фраза приобрела немного другое значение. Так говорят о человеке с большим опытом или знаниями в какой-то области.
Значения других фразеологизмов вы можете прочитать в статье
"Фразеологизмы и их значения".