GCC is a C/C++ language compiler. Cygwin is a library/environment for MS-Windows and MingW is a port of the GCC compiler to MS-Windows. There are many compilers, but your examples don't make sense, as they are all based on the same compiler. Generally speaking, different compilers will accept different languages, extensions, etc. They will also have different optimization capabilities and targets (e.g. x386, Pentium, PPC). Entire books have been written on compiler technology, but I think it's save to say that GCC is the accepted C/C++ compiler in this camp. The other compilers would most likely be for other languages or other operating systems.
Sorry if I didn't answer your question. It would help if you described exactly what you are trying to accomplish, and then someone can suggest appropriate tools. If you want specific information about a specific tool, just look it up ... every open source tool has at least some on-line documentation/support.