sym file basics?

Hi,
can somebody point me to the rite resource to read understand for the
following:
when you compile with the /ZI option you are creating a symbol file .pdb
file. what exactly does this contain. also after doing this why is it
necessary to link with link /debug. isnt it sufficient to just have the
symbol with and a non debug executable.

kutty