エンコーディングの話 Part 2 - ディベロッパー製品開発統括部 Blog

Unicode ConsortiumISO/IEC-10646 での用語の差異までもを話題にするのであれば、"UTF8"、"UTF16" ではなく、"UTF-8"、"UTF-16" と書いて欲しいなぁなどと細かな突っ込みはまぁ置いておいて…。
UTF-8 であってもファイルの先頭に BOM をつけるというのは、確かにエンコーディングを判別するためには便利です。ただ、SSI や C 言語のプリプロセッサのように、外部のファイルをインクルードする場合には、インクルード対象のファイルに BYTE ORDER MARK としての U+FEFF が存在するなら、出力結果の途中部分に BOM が含まれないように削除するなどの処理も場合によっては必要になったりもするんでしょうね。