Update: I've switched over to WSL since posting this answer. If you're still using Cygwin give it a try. It's not a drop-in replacement but it's nicer in a number of ways.
Personally, I find having to exit Cygwin just to install new packages annoying enough to try to avoid the just-in-time strategy, and fortunately there's a tool to make this much easier: apt-cyg. This way you actually can just-in-time install packages without having to quit Cygwin.
That said, here's a list of common packages you might want to install, whether via the installer or via apt-cyg
:
bash-completion
lynx
(to install apt-cyg
), wget
and curl
vim
hg
, git
, and maybe svn
and git-svn
diffutils
and patchutils
python
and python3
There's tons of Cygwin setup posts out on the internet too, I referenced this one.