See the Apache docs on RewriteRule.
RewriteRule ^(.+)\\.html http://www.needcoffee.com/html/$1.htm [r=301,nc]
says to match using
^(.+)\\.html (Beginning of URI, one or more characters until we hit a \ (presumably counts as backslash or slash here?) ending in .html, and store the “one or more characters” part for later use in a backreference.
Having captured the original URI minus the .html in $1 for later use, we redirect to the .htm URI with an HTTP response code of 301 (resource moved permanently.) The nc makes the operation case-insensitive.
Please note, I’m not doing this from memory, I just looked at the doc, so I could be wrong on some points. :)