I'm not being snarky, it's a serious question. I'm a programmer, but I use Visual Studio 2008 and I rarely have to touch a command line to do anything that I need to do...
I've never done any serious development on Windows, but I'd imagine you need/want a shell for the same reasons you'd use one on a unix system - using vim, scripting, an array of useful programs (e.g. whatever the Windows version of grep is), etc.
I've been programming on Windows for about 10 years and I can honestly say that I simply don't have to use a terminal outside of running the occasional command. For automation I use AutoHotKey or AutoIt. For searching text in files I usually use a program like Notepad++ or UltrEdit. YMMV of course, not everyone's the same.
I guess the reason is that I can usually find a GUI program to do whatever it is that I want.
I use Linux all the time too (I've built Asterisk boxes, LAMP servers, firewalls, etc. at work and at home), but I think the culture is just different, so it's natural to use the terminal for many things on *nix.
Actually I do use the Windows terminal a LOT (the Run box actually) for one-off things like "net start/stop some-service", "services.msc" or "ipconfig /all", something like that.
I'm not being snarky, it's a serious question. I'm a programmer, but I use Visual Studio 2008 and I rarely have to touch a command line to do anything that I need to do...