I use Cygwin on a regular basis. It's basically indispensible, because it's the only thing that does what it does. But I get the strong impression that it was designed to punish Windows users. Just off the top of my head:
* It has no idea about Windows file system conventions. IIRC, the default install directory is "C:\Cygwin".
* The "default" install is super bare-bones, and missing a lot of pretty basic Unix utils. This would be a minor complaint, except:
* The installer--the bit that you download--is also the package manager. This means that if you install it and then delete the installer like a responsible, space-conserving user, then the first time you realize that you don't have, I dunno, rsync, you have to download the installer again. And then, unless you having to manually navigate to your Downloads folder every time you want to install a damn package, you have to find a place for it to live on your drive and set up a start-menu shortcut for it. These things are why we invented installers, so why doesn't the installer do them?
* And, as you may have guessed from that last bit, there is no way to install packages from within the Cygwin terminal. In fact, you have to close all open terminals every time you want to run the package manager. You can imagine how much fun that is. The excuse for this is "such a program would need full access to all of Cygwin's POSIX functionality. That is, however, difficult to provide in a Cygwin-free environment, such as exists on first installation." In other words, they can't provide a proper package manager because then they couldn't make the installer and the package manager the same program which they shouldn't be fucking doing anyway.
* Every time you run the installer/package manager, you have to click "Okay" seven times (yes, I counted) to confirm a load of options that you will almost certainly never change after first install.
This ran way longer than I intended. Apparently I am fussed. :-/ The thing that really gets me is that this isn't even a case of Unix grognards not knowing or caring about Windows standards. There is no modern OS where installing an application off of the root directory is acceptable. I don't get it.