I'll take a stab at this as I'm new to Mac, and a veteran of the *nix, VMS (not VMs) and Windows world.
First a little background:
The DOS command prompt did not support HOME, END, UP, DOWN, LEFT or RIGHT for years. It only supported F3 to recall last line and BACKSPACE to erase the character to the left of the cursor. Then around Windows 95 or so, it added the ability to use LEFT and RIGHT and INS to move left and insert characters. And finally, with the NT-based command prompt (essentially from DEC VMS, but that's another story), they added a full command-line history and editing modes. There had been replacement command shells, and overlays that provided these functions for years, but out of the box, nope.
*nix, Linux and Unixen included, have been worse off. stty is the program in *nix that controls the terminal interface for most of the shells (sh, csh, ksh, bash) and it has fairly limited support of special keys (special keys didn't have standard key codes until the 90s). So, if you sat at an IBM Terminal connected to an IBM Server running IBM AIX, and ran an AIX ksh in an aixterm, then for some applications your keys would work correctly and the command line worked mostly as expected within the limits of ksh. But, it was super inconsistent, and as soon as you ssh(neé rsh)ed in from another host, all bets were off.
When linux started it, it was much in the same boat. And even upgrading your keyboard caused no end of grief on how the command line behaved (and in some cases even the graphical interface had issues with keys).
But, now in the glorious future, all these problems have gone away. Kind of.
Terminal is a barely enhanced version of the xterm applicaiton OS X inherited from BSD(?). There are advantages in OS X for making this a very lean change, it's fast, it performs predictably, it acts like the X Terminal that command line apps expect, and it behaves almost exactly how *nix nerds expect it to.
But, it is not the rich command line application that CMD.EXE is, in fact, it's not a comand line application at all, it's a terminal emulator, which launches the default shell (usually bash, or Bourne Again Shell).
Now, PuTTY is a terminal emulator, more specifically it's a ANSI terminal emulator that does PC keyboard conversions on the fly. If it mates up with your target OS and can set the key mappings correctly, you're in like Flynt, but when it screws up, it takes some doing to fix.
So, back to Mac OS X Terminal. It runs a fairly simple wrapper around xterm, in fact, if you ask bash what terminal it thinks it's running (echo ${TERM} ), it reports 'xterm-256color' (an xterm that supports ansi 256 color text mode).
As an old unix nerd myself, when I login and I see the fixt width font and the obvious bash prompts, I expect my session to default to Emacs editing mode (which it does).
http://www.math.utah.edu/docs/info/features_7.html
And subsequently, I can Ctrl-A, Ctrl-E, Ctrl-D, Ctrl-P and Ctrl-N to my hearts content. Heck even DELETE, LEFT and RIGHT work as expected. But, what gives with HOME, END, PAGE UP and PAGE DOWN?
Well, in the olden days most terminals didn't have those keys, and keyboard implement them a little differently. They have escape codes in them (like ESC]0x2C). So, a lot of the legacy unix shells and utilties cannot interpret them.
How does Linux do it? Well, Gnome Terminal has a lot of enhancements, and the shell understands Gnome Terminal, and Gnome Terminal has keyboard mappings for all the special keys.
But, and this is key, Linux is built for command line hackers, so the self-same command line hackers have invested an inordinate amount of time fixing these things. And, Linux ships with a clone of xterm, for when Gnome Terminal screws something up.
Mac OS X does not ship with a fancy Gnome Terminal (but you can install it if you want), it comes with the basic debugging terminal, that they don't expect their core users to use. I don't think early Mac OS even shipped with a terminal application, until they switched to the BSD core for Mac OS X.
But, it provides all the hooks for one to be developed a quick google shows:
http://lifehacker.com/5857046/the-best-terminal-emulator-for-mac-os-x
http://iterm.sourceforge.net/
http://software.jessies.org/terminator/
And the App Store has over 30 terminal emulators.
I doubt that the company credited with the popularization of the GUI, will do much more than an xterm. I'd recommend experimenting with some of these alternatives (I'd start with the free ones, and google for reviews).