Why this is needed:
Latest blog article over at progit.org: "Reset demystified" http://progit.org/2011/07/11/reset.html
Scott Chacon, author of the the Pro Git book, admits there that he didn't cover the "reset" command in depth in the book because he didn't fully understand it. Go figure...