.shtml is just a way to name your files. Just like you could name any kind of file .php, you can name any kind of file .shtml. The reason people name files .shtml is so that they can tell the server to process them in a particular way. Often people call Perl files .shtml (instead of .pl), and then tell their server to process all .shtml files with Perl, and some people use it for Apache SSIs. Likewise, we could call a PHP file .shtml and tell the server (using AddType in Apache) to process all .shtml files with PHP.
As long as you're comfortable with having your PHP files named .php, there's no reason to start naming them .shtml.