sjisだと、そのデータの任意の1バイトを取り出したとき,
1バイトのコードか、2バイト文字の2バイト目のコードか区別できないことでしょう。
よく見かけるのがsjisの漢字コードの2バイト目に
ファイルのセパレータである\が含まれる文字によるバグや、
日本語文字コードを意識していないプログラムに漢字を
与えた場合の誤動作です。
本来は漢字の一部なのに¥が含まれているために、
ディレクトリの区切りとして誤動作します。
まあ、全てのプログラムがきちんと作られていれば
問題無いわけですが,手間がかなり余分にかかります。
EUCやJIS方は区別がつくためこの問題は生じません。
また、これは英語圏の環境で日本語文字データを読み込んだ場合に問題を発生するかも知れません。
EUCは俗称で半角カナと呼ばれる文字を表現するのに
3バイト必要なので、これは欠点になりうるかも。
また、sjis,EUC両方の欠点として,多言語化かできません。
例えば,日本語、中国語、韓国語の文字の混在ができません。
また、どちらも8ビットを使うコードですので、環境によっては問題を起こす場合があります。
元々文字コードは7bitという前提で書かれていたことがあり、
そういう環境が無いと保証できない場合があり得るからです。
wwwの文字コードとしては本来はJISを使うべきかも知れません。
もともと通信という外部とやり取りする物はJISで
なければいけないような話があったはずです。
sjisが多いのは,単にその文字コードを基本とする
WindowsやMacの文字コードが無造作にそのまま
ページとしておかれるためでしょう。
私は自分のページはわざわざjisコードにしてます。