The problem is for characters where there is a decomposed and precomposed form. iconv does not consider them equivalent.
It seems that a bug report has already been filed.
printf '\x6F\xCC\x88\n' | iconv -f UTF-8 -t LATIN1
iconv: (stdin):1:1: cannot convert
Whereas
printf '\x6F\xCC\x88\n' | iconv -f utf8-mac -t LATIN1
works.
printf '\x6f\xcc\x88' | file -
/dev/stdin: UTF-8 Unicode text, with no line terminators
printf '\x6f\xcc\x88' | od -An -tcx1
o ̈ **
6f cc 88
Collected remarks (that are not intended to belittle iconv or the people behind it) from users helping to trace the problem:
"Whoever came up with combining suffixes is evil and needs to be trout-slapped repeatedly."
"Computer Scientists are baffled by this one simple UTF-8 experiment"
Make Iconv Great Again