On Windows I use MinTTY -- it is basically perfect on that platform. It's bizarre how ridiculously terrible every other windows tty is: simple shit like text selection, copy-paste, window resizing, fonts, etc. is universally missing.
I only discovered it due to my boss' "install everything" cygwin policy, as it's in their repo and its installer puts a link on your desktop.
PuTTY is bad enough as an SSH client, much less its crap terminal emulation. Whoever at Microsoft that keeps making the decision to ship cmd.exe again needs to be hanged in public square.
On putty: I'm surprised to hear all the bad vibes for putty - what's wrong with its terminal emulation? I adore putty - you can configure it so that it toggles full-screen with alt+enter and can load sessions with windows+r, 'putty -load {session name}'. It's easy to configure different colours for different profiles so it's easy to always have my production consoles in red. I haven't found such a straightforward way of getting that going in a linux desktop setting (other than using putty for linux which is unrefined). The default font isn't all that nice but I think I use terminal size 10 and that looks nice. Putty supports all the stuff you criticise - 'text selection, copy-paste, window resizing, fonts' - what's the downside? I tend to use it in gnu-screen and don't have problems with this.
On cmd: Funnily enough that cmd environment has become less powerful over the evolution of Windows. For instance, it used to be possible in win2k era to bundle a complete application as a batch file by having code stored as text and written out when it ran - through a couple of mechanisms using minor features. Those features which were subsequently removed, presumably to stop just this sort of hack. The latest versions of Windows don't have telnet as standard - I'm at a complete loss to know how I'm meant to do connectivity testing with clients who don't have it and don't have permission to install it - the telnet mechanism in Windows was bad enough as it was but now they've made things worse. I've found Windows scripting host to be very poor for doing networking. It's also very crippled.
(When I'm in OSX I use iTerm because it's the only way I've found to get a nice full-screen console under the current release of OSX)
CME.EXE is about backwards compatibility. New work should be done in PowerShell' which is quite clever (think Unix pipes with COM objects instead of plain text).
You're confusing shells and terminal emulators (if you can call them that under windows).
You can use the "Powershell ISE" thing as a tabbed "terminal", but Powershell itself will quite happily run under the windows console "terminal emulator".
I only discovered it due to my boss' "install everything" cygwin policy, as it's in their repo and its installer puts a link on your desktop.
PuTTY is bad enough as an SSH client, much less its crap terminal emulation. Whoever at Microsoft that keeps making the decision to ship cmd.exe again needs to be hanged in public square.