It's nice to be able to experiment with a virtual PC, add a few packages, then revert to a previous snapshot and 'start clean'. There are nice options here for taking snapshots of your Virtual PC in a particular state, suspend/resume a virtual PC, etc. Virtualization software lets you boot up another OS in a virtual PC, one that shares hardware with the host OS. This is a little more on the experimental side and may not be as stable as some of the virtualization options. These don't have the overhead of virtualizing, and they start up faster since you're not booting a virtual PC. coLinux, which is limited to 32-bit systems. There are several packages that will run Linux as a Windows process, without simulating an entire PC as virtualization does. These are native versions of the tools, as opposed to cygwin which requires a cygwin DLL to fake out its tools into thinking they are running on Linux. GNU utilities for Win32 is another lightweight alternative.msys is a smaller, lightweight alternative to cygwin.
This has been around awhile and is mature. cygwin gives you a bash shell with lots of tools, including an X11 server.Given you're using Eclipse I'm going to assume you want a full IDE, but if you can get by with just the GNU/Linux tools, there are a few choices.