Good question and interesting answers. The cons of a scripting language are reasonably described by the others: slower execution, potentially limited in performing certain tasks, and so on.
Some of the pros are touched on: easier to write, less lines of code usually do more functions than in C++, easier to understand, smaller file size for web communications and so on.
No one stated the true goal (holy grail) of scripting languages. The ultimate goal of scripts was to make the scripts machine and operating system independent. That's one huge reason why scripts are so prevalent in web communications. We have no clue as to the processor or OS of the people viewing or using our sites. Thus, we roll out generic scripts. Linux, Sun, MS, others make special engines or interpreters that interpret these lines of code so that they operate identically on each platform--no matter what OS or hardware is under the hood.
If we made one application in C++ and compiled it, the application would only run on the targeted machine. There is no way that a gcc, VS, GNU, etc. compiler could generate one binary application that would run on Macs, Suns, PC's, etc. However, one well written program in a scripting language will run across these dissimilar machines/OS's.
Bottom line and the biggest reason for scripting languages: Machine and platform independence.
Hope that helps.