If you're going to use a subdirectory then you should really add the trailing slash, eg.
domain.com/new-awesome-computer/
since if you're missing the trailing slash, most apache webservers will rewrite the url and 301 you to the version with the trailing slash.
At some points in the past, subdirectory index files (eg. domain.com/keyword-here/ )have been weighted slightly higher then filename.html files (eg. domain.com/keyword-here.html). At others, filename.html straight off root have been weighted more heavily. Meaning, it doesn't really matter what you use.
I would personally name my files .html and not .htm. .htm is an abbreviation of .html that people started using because of the old 3 character limit to file name extensions in MS Windows. .html is the "proper" unix way to do it.
The argument about being able to rename your files is somewhat valid but for a smaller site it makes more sense in some ways to keep your pages straight off root rather than having lots of subdirectories. Also, as a throwback to the way pages used to be ranked, it used to be advantageous to name your files .html to give them the appearance that they aren't dynamic (from the days when dynamic files were ranked poorly compared to static html). Most webservers can be configured to parse html files for dynamic includes.
Back in the day Google stated that they preferred hypens to underscores because it made it easier for them to parse the individual words from the url string. I somewhat doubt this is still the case but since they said it, you may as well use hyphens. You hardly ever see underscores any more with a few notable exceptions eg. Mediawiki.
All in all, urls don't matter much as long as the keywords are in the url somewhere. You shouldn't optimize for any one version of the algo (since it constantly changing), so just do whatever makes the most sense for a particular site.