Script-Fu is an extremely cool idea. Photoshop supports "actions", but not actual scripting - Script-Fu, then, is a complete scripting environment for the GIMP.
Script-Fu is one interface to GIMP's PDB (procedures). Script-Fu's only really bad thing was that it chose SIOD, a limited Scheme interpreter, as its core. Thus, while you was (theoretically) able to tap the entire power of GIMP from your script, the limitations of SIOD made you curse its creators. One example? If your script bombed, all you could say that "this command bombed". No line numbers, just command and evaluated arguments. Happy hunting!
The situation was greatly easified in GIMP 1.2 (and the development version 1.1 before it), when, alongside the SIOD, the interface to Perl was introduced. Perl-Fu is able to report error messages on much more readable and debuggable manner, and naturally it's also able to actually access raw drawables - you can manipulate stuff from your scripts much more powerfully, or you can use PDB just like you previously could.