具体的に何が違うの
String.Compare(String, String, StringComparison)
とString.Compare(String, String, CultureInfo, CompareOptions)
2つ目は、 1つ目より選択肢が多い気がします(現在のものや不変のものだけでなく、任意の文化を使った比較、特殊文字を無視する、カタカナの幅を無視する(!!)など...)。どちらも .NET 2.0 で導入されたので、下位互換性の問題ではないと思います。
では、違いは何ですか?最初のものをいつ使用し、2番目のものをいつ使用する必要がありますか?