A Schema represents an output language like XHTML, RSS, VoiceXML or some other XML language that you might want to generate via GXP. A schema can also optionally support an "SGML" mode. This is probably only useful for XHTML, whose SGML counterpart is HTML. Making it general is slightly easier (and less ugly) than special-casing it, so there you have it.
Schemas are generally specified in an XML file which is then parsed with SchemaParser.
Schemas are used by the GXP compiler to do input vaidation (for example, checking that an attribute really exists) and also for providing other special knowledge about attributes and elements. (eg: which attributes are boolean, and what doctypes are supported)
Most GXP users will probably not need to write schemas. Only one schema is required per output format. If you feel the urge to write a schema, first investigate to see if someone has already written one for the same language.