This is an example of what it does!

Code:
name = "dave"
greeting = "hello"
eval_string =  "greeting + name";
test_string = eval(eval_string);
document.write(test_string);
the output is: hellodave

eval() has no real word programming use that I can think of because,

Code:
name = "dave"
greeting = "hello"
eval_string =  greeting + name;
document.write(eval_string);
would do exactly the same job *shrugs*!