The string tables are intended mainly for localization purposes. The idea is indeed to store all the in-game texts in one place to simplify the localization task.
The string table file uses a following format:
-one string per line
-each line contains: a string identifier, TAB character, the actual text string
for example:
molly001 <tab> Hi, I'm Molly.
Then in your scripts you'll have to use a following syntax:
actor.Talk("/molly001/Hi, I'm Molly.");
When the engine encounters a string in the above format (i.e. /some_id/some_text ) it will search the string table. If a string with the specified ID is found, it will be used instead. It means for example, you can write your scripts in english; if there's no string table, the game will run in english. If you create a german string table, the game will run in german and you don't need to change your scripts at all.