Traceroute often used to discover path to destination when packets hops from router to router. It sends a short live packet out and then waits for ICMP response. Repeating and incrementing TTL each time until a destination is reached.
Traceroute comes in different flavours :
a) Tcp trace route - Is becoming more popular because TCP are not block by network administrator. Sometimes when UDP used, it ends up to firewall and stops there. If TCP is used, it would make a step further.
b) Intrace - Still reading up on this.
c) Traceroute - normally traceroute uses UDP on Linux and ICMP on Windows.