The traceroute man pages have a good description of "how" traceroute works, but if you don't understand
ICMP, then it probably won't make much sense. Also, while reading the man page, take note of the "-I" command line switch. The windows version of traceroute (tracert) uses this switch.
BTW: There is also a rather dated, but cool program called
tcptraceroute