Cygwin is and always will be only an emulation-layer, never the real deal. For most day-to-day things it works perfectly, but when you run into some corner-case, most of the time you are out of luck.
My only real problem with Cygwin is, that it misses a command-line package manager. If they could adopt pacman for package management like MSYS2 does, I'd be a happy camper.
edit: To deploy Cygwin based applications you need to get a commercial license from RedHat (if it's not FOSS). Which could be a deal-breaker.