While either scripting context can do anything the other can (because shell scripts can call
/usr/bin/osascript to invoke an AppleScript, and AppleScript has the
do shell script command), there are indeed contexts for which one is better suited than the other.
Both scripting languages are "glue" languages -- they can do minimal things themselves, and instead accomplish most of their tasks by invoking the capabilities of other programs. Shell scripts make use of Unix pipes, while AppleScript has the
tell application syntax.
Where they diverge is that AppleScripts directly communicate with scriptable applications (almost always GUI applications), while shell scripts communicate primarily with command-line programs (some of which can invoke graphic user interfaces, but many do not).
When it comes to file management tasks, both approaches can work. One can
Tell Application Finder to copy files, or run the
cp command in a shell script. So why use one over the other? Certainly some script writers are more familiar with one language than the other, and thus will prefer to use that tool. But a better consideration is of the user of the script. AppleScript can often be invoked from the Mac GUI: double-clicking an AppleScript application, or dropping files onto one, or using an AppleScript menu either system-wide or within a particular program. Programs like Mail can be set up to run an AppleScript on incoming messages to filter them. For users accustomed to using Macs in a "Mac-like" way (i.e. from the GUI), AppleScripts are often more accessible.
Shell scripts often (but not always) live in the Terminal. If one is already using Terminal, running a shell script there can be more convenient than invoking an AppleScript. On the other hand, many users are off-put by having to type commands in a Terminal window, or even clicking a script file that opens a Terminal window to do its magic. I personally find the syntax of shell scripts more readable than that of AppleScripts, but I suspect I'm in a minority on that one. Shell scripts are familiar to users of many different Unix-like systems.
In any event, both are powerful tools for gaining better control over your Mac.