I'm confused by the options of the [StringComparison Enumeration](http://msdn.microsoft.com/en-us/library/system.stringcomparison.aspx). I just want to compare two strings ignoring case. Can someone explain what the terms *current culture*, *invariant culture* and *ordinal* mean? Is there an option common to most use cases, and if so, under what circumstances would the other options be needed?

For reference, the options of the StringComparison enum is as follows:

* CurrentCulture
* CurrentCultureIgnoreCase
* InvariantCulture
* InvariantCultureIgnoreCase
* Ordinal
* OrdinalIgnoreCase