There are a lot of different types of external subtitle files. Most contain textual data. That is the subtitle and a timestamp at which this subtitles is to be shown. Some of these allow for additional formatting, others don't.
There are also subtitles which are essentially pictures instead of text. These kind of subtitles are used in DVDs, VCDs and the external VobSub? files.
There are also some fileformats to which you can add subtitles. These include:
It is not easy to stream subtitles. DVB or DVD subtitles encapsulated in a TS MPEG stream is your best bet.