Kudos to Chris O'Leary for a nice explanation.
I speak as one who, among other things, designs and codes MPEG multiplexers for a living.
One overarching point should be made re. multiplexers in general, and that is that one of their primary purposes in life is to guarantee audio/video sync. The excellence with which they stitch channels together (audio, video and private data) is generally to be judged by the quality of the A/V sync on large amounts of data - say over hours or days of continuous feed. It is possible to do this right, but not all multiplexers are created equal. At the design level, some subtle issues are involved.
One further clarification: a "Program Stream" (for MPEG-2) is very similar to a "System Stream" (for MPEG-1 only): they are both system-level (i.e. multiplexed) formats. A "Transport Stream" (for MPEG-2) is, roughly speaking, a superset of a program stream, and contains one further level of system information suitable for data transmission in the presence of errors. This is actually a packetisation of a packetisation.
To muddy the waters further (assuming you haven't nodded off with boredom so far); all three stream types (System, Program, and Transport) are capable of carrying MPEG-1 data. However, System streams may only legally carry MPEG-1 data, not MPEG-2.
Regards,
Andrew Palfreyman
Senior Engineer
FutureTel Inc.
www.futuretel.com