In file formats, a "container" format is a format that holds some other type of data in it. They can typically be seen in multimedia formats.
Some formats only contain specific types of data; Some are highly sophisticated and can contain a lot of different stuff, even some that were not originally intended for this sort of things. Usually this is used for metadata. (PNG has text chunks, which is handy for comments, even when text in itself has nothing to do with pictures... MPEG audio has ID3 tags.)
Typically, many container formats I've seen use FOURCCs (4-character codes) this way: First comes the fourcc to say which type of the data the chunk has in it, then comes 4-byte integer to say how long the data chunk is in bytes, and then the data itself. (AFAIK this is how RIFF works, and even Warcraft II used this in its datafiles.)
Examples of good container formats are RIFF (Microsoft's format, for AVI and WAV files), QuickTime, MPEG system streams and Ogg. XML often is used for similiar purposes in text world (and sometimes in binary data world, too).
- "This is a RIFF file, with AVI format video, which in turn is compressed with DivX, and sound, which in turn is MPEG-1 layer 3."
- "This is a QuickTime file with MJPEG video and uncompressed sound."
Average people have no idea (and indeed, shouldn't even have any idea) what sort of massive work is required to read container formats. The only way to demonstrate the only fault in the container formats is to remove one component from the system that specializes in decoding of one type of contained format.
In GUI programming (at least in Java, some other languages/toolkits may use other terminologies - GTK+ speaks of boxes, for example), an instance of java.awt.Container (or subclass of it) is a widget that contains other widgets, for the purpose of grouping and putting multiple widgets in place where only one widget fits. Typically, you put one container inside your Frame (window) and then put zillions of nested containers there, finally putting the widgets themselves there.
(This definition may sound hopefully arcane to newbies in the field, especially for those of Visual Basic background. However, believe me, when you see that in action, it's surprisingly logical =)