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.