I was asked about our use of the windows "ansi" code page names, as used in things like MIME types, http content-type tags, etc. Each "code page" has a name that most accuratly round trips back to the same code page, which I've listed as the "preferred name" below. Additionally, when you ask for a code page matching a name, some code pages have several aliases that map to the identical behavior. (listed as "aliases" in the table below).
Note that there are quite a few inconsistencies and other odd behaviors. Some have names of windows-xxx, and others don't even recognize that form as an alias. Additionally some reference material I've seen refers to any microsoft code page in the windows-xxxx or CPxxx form, whether or not windows itself recognizes those names.
We have no intention of trying to create a more consistent naming scheme, we prefer that applications use Unicode.
So in practice, you should use the "preferred name" to identify data tagged by a particular code page, but if you are accepting input data, recognize that it may also use one of the listed aliases. Encoding.GetEncoding() should "do the right thing". You might want to look at my previous posts "Encoding.GetEncodings() has a couple "duplicate" names" and "What's my Encoding Called?".