I may be in the minority but I have a Windows machine as my main workstation and I use cygwin as an interface to console applications for interfacing with UNIX machines. If I need to manage Windows boxes, I'll use Powershell, but if I want to check out things or remotely script simple stuff on UNIX machines I like using cygwin.
Therefore I tend to install apps like ssh and tmux. Occassionally I would issue a wget command here and there, or a Q&D Python script. I don't run X applications--I have Linux VMs in those situations. Having a VM just to dabble on Linux is wasteful in my environment. My issue with BashOnWindows is it's a separate install for every user who enables it on a machine. It's a simpler approach from a management perspective as there's no privileged access of any sort since every user who installs it has root access. But I prefer one installation, which cygwin allows. I run as a regular user and use the administrative account for management purposes only and cygwin also allows me to separate management duties.