What's the difference between .shtml and .html?
On most servers (if the feature is active), naming a file .shtml indicates it would be parsed by the server before being sent to the client.
"shtml" isn't really anything much. It's a file extension (*.shtml) that is commonly used by servers to recognise an html file which includes something called Server Side Includes (SSI).
Server Side Includes basically let you dump the contents of a file straight into an html document, if your server allows them. (They do a whole heap of other things to - like add the time at the servers location to the page and stuff)