s1.CompareTo(s2): Do NOT use if primary purpose is to determine whether two strings are equivalent
s1 == s2: Cannot ignore case
s1.Equals(s2, StringComparison): Throws NullReferenceException if s1 is null
String.Equals(s2, StringComparison): By process of eliminiation, this static method is the WINNER (assuming a typical use case to determine whether two strings are equivalent)!