Cygwin offers a *NIX command line environment on Windows. It is very feature-rich and also integrates with lots of native Windows features and functions as well.
PuTTY is only a terminal emulator, and there is actually a program that allows you to use the PuTTY emulator instead of MinTTY for your Cygwin environment on Windows, but the name slips my mind at the moment.
Edit: The program I was trying to think of that allows you to use the PuTTY terminal with your Cygwin environment is PuTTYCyg, but the project is no longer maintained. However, the PuTTYCyg features have been merged into the KiTTY software. KiTTY is basically PuTTY with a lot more features.
If you are only doing Windows stuff, you're better off learning PowerShell, but if you are more familiar with *NIX environments and wish to integrate that stuff with Windows, use Cygwin with MinTTY.
You can always use the Cygwin.bat that runs the Cygwin environment in the native cmd.exe shell, but the MinTTY terminal emulator offers more features, such as xterm-256color support, etc.
There are a few other terminal emulators that integrate with Cygwin, but MinTTY is pretty much the standard.