I've usually used VBScript for management tasks. However you end up relying on COM servers to do anything hard, many of which aren't standard on Windows so you have to buy (and remember to install) third party COM servers. In particular x64 causes problems because all my COM servers are 32 bit, so I end up having to run the x86 version of cscript from \windows\syswow64.
I have played with using C#, but it's compiled not interpreted so it's more hassle, and there's a fair bit of (programmer) overhead for simple tasks.
I'm far from up to speed with Powershell, but what it offers me is a one stop shop for doing everything. The standard commandlets are pretty comprehensive, and it intergrates with .Net pretty well for when you want something more unusual.
Preet, in you post you refer to using "a bit of python/cygwin/wmic/dos". Well me too, but that's four solutions, and you can replace them all by learning Powershell. There will still be the complicated scripts that I'll probably do in VBScript, but Powershell can do that majority of what I need.