Cygwin

Cygwin is a free UNIX -like environment for Windows that enables you to natively compile just about any UNIX package you might need (except things requiring raw device access and a few specific network calls).

It’s not an emulator, but a set of libraries that provides a POSIX-like layer over Win32.

I’ve been using it for many years now, and it provides me with rxvt, bash, SSH, mutt, vim (emacs is there too, if that’s your thing), perl and an increasingly useful X server. I can recompile just about anything on it (it’s pretty much the same as porting to a slightly different variant of Linux or BSD, and most of the dozens of packages I use daily are trivial recompiles.

In terms of real compatibility, it knocked the spots off Interix (rebranded Services For Unix until it faded away into obscurity) and any other commercial alternative. It is also very stable (provided you know what you are doing and keep track of core package revisions).

RedHat also used to provide a commercially supported version that seems to have faded into the mists of time.

Resources:

Category Date Link Notes
Other 2011 Gow A lightweight alternative that seems moderately interesting.
2008 MobaXVT a portable version that provides basic remote access features (and X).
2007 unxutils native Win32 ports of some common command-line utilities, useful for places where you don't want (or need) a full environment.
Outwit an interesting complement that provides command-line access to a few native Windows features.
Terminals 2017 wsltty A version of mintty that works with the Windows Subsystem for Linux
2014 Babun A pre-configured distribution that includes a sane terminal.
2007 PuTTY patch to make it act as a Cygwin terminal. If you're used to PuTTY, it can be very useful indeed. Me, I'll stick with the native rxvt port.
Tools 2010 apt-cyg an apt-like dependency tracker and package installer