I only use .sh extensions for Bourne shell scripts and .bash for Bash scripts. It doesn't really matter in terms of executing scripts, but it's a handy visual indication.
Usually you don't put any extension on scripts that use a shebang (#!), so that you can chmod +x them, put them in your path, and use them like normal commands (which don't have a suffix).
IMHO the .sh extension should only be used for code that you're supposed to "source" instead of executing.
Especially considering it has the extension of .sh instead of .bash