Actually, you just mean the console, not cmd.exe.
cmd.exe is just an command interpreter (like bash) that needs a console/terminal (like xterm) just as any other CLI application does.
In other words, is not cmd.exe that sucks, but the Windows console. If Microsoft improved the console, cmd would immediately become nicer to use (though still hobbled by an inane scripting language).
</pedantry>