Note that since version 299 PLT Scheme is case sensitive, so the symbols 'hello, 'Hello and 'HeLLo' will be different:
> (and (eq?'hello'Hello) (eq?'hello'HeLLo))
#f
Many other Schemes are case sensitive (though the trend is towards case insensitivity).
Using string->symbol is one way of getting around the problem of case-insensitivity when case-sensitive symbols are needed (for example when processing XML):
Also note that in PLT Scheme there are special quoting rules for symbols that would otherwise be read as something else. For example if you wanted to write a symbol that was bracketed, and so would normally be read as a list, you could write:
The symbol doesn't really have the bars or the backslashes in it's
name, it's just that it has to be written like that, so the brackets
aren't interpreted as lists.