Unicode (あるいは UCS) は符号化文字集合であって文字の集合とスカラー値の割り当てにすぎず、文字符号化方式であるところの UTF-8 や UTF-16LE や UTF-32BE などがエンコーディングを規定していて当然エンディアンも規定するべきなので、「UTF-16」と雑に言っただけで符号化方式を指定したつもりになっている中途半端な実装が悪い、という意見
本来符号化方式の指定でエンディアンも正しく指定していれば、 UTF-16{L,B}E でも BOM は不要
そこで UTF-16{L,B}E の両方をサポートしようという高機能な(あるいはどっちつかずな)処理系がはじめて BOM を必要とするわけで、 UTF-8 における BOM は最初から最後まで全く必要性のない存在
「BOM があると UTF-8 のテキストであるとわかる」みたいな雑な擁護もあるけど、そもそもテキストを欲しているのにエンコーディングが指定されていないという状況が最悪だし、「テキストを期待している状況で『テキストだとわかる』」ということの虚しさよ