When should one use a scripting language over a more verbose, compiled language like C++. C# or Java?
And to make the question a little more interesting, let's answer the questions like this:
You should use a scripting language when... BLANK...
When you need A use scripting language X.
When you need B use scripting language Y.
When you need C use scripting language Z.
You should use a scripting language when speed of development is more important than speed of execution.