(Scheme and Lisp, Prolog:)
A symbol is an object in these (and other) computer languages that is uniquely identified by its name. Symbols are written as generally unquoted tokens:
fluid-let, and the like. In Scheme and the Lisps, symbols are either case insensitive or normally converted to all uppercase. Some special tokens are not symbols:
. and numbers, for instance. Additional quoting rules are usually given, so you can create symbols with e.g. spaces in their names. Note that when symbols are only converted to uppercase, you can create symbols with lowercase characters in their names by quoting them.
Symbols are atoms not strings. As such, they are not sequences of characters, and offer no access to their character "constituents". From an implementation point of view, symbols are entries in a symbol table (a kind of hash table). Thus, equality of symbols is generally a fast operation. Lexicographic ordering doesn't generall exist for them, so other comparisons don't make sense for them.
In Common Lisp there is some confusion. Common Lisp the Language claims that symbols are associated with property lists (plists). This is used e.g. to attach a value or function (or both!) to a symbol. From a less Lisp-oriented point of view, it makes more sense to say that Common Lisp attaches a plist to every symbol; for many (maybe most) purposes, the attached properties are irrelevant and unused.