Scripts make the world go around.
Scripts do everything from sending players out on quests to open doors and make the world move around.
There are several script languages but the are all similar in function and context. We use Lua and of course lsl (the script language in Second life). You often have to use the script language that the game engine is setup for.
Scripts make the game engine a lot more flexible. If you should put all of the functions of your game world in the game code you probably would be in bug hell.
In a virtual world like Second life the scripts make every object self contained so you can sell and transfer it around the world and among the users.