Short answer: a typeglob is a symbol table entry; if you have (non-lexical) $foo, %foo, @foo, &foo, and format foo, they are all contained in the same typeglob *foo (along with a file/dir handle). Because filehandles have no specific sigil, you can only mention them in perl by way of the glob.
So there are two cases where you'd use a typeglob: as a filehandle, or to muck about with the symbol table.
The most common case of the former is to use one of the
perl provided filehandles *STDIN, *STDOUT, *STDERR, *DATA. (The * is unneeded if passing to a function or builtin having a * in the prototype.) For non-perl provided filehandles, using the newer lexical filehandles (actually just a reference to a typeglob, stored in a regular scalar variable) obviates the need for a typeglob.