Traceroute will use the IP address which is closest to the destination as determined by the routing table. The tracert on Windows uses ICMP probes with low TTL values to get each hop in the path. When the final destination is reached, that destination will reply with an ICMP echo reply. IOS traceroute uses UDP packets with low TTL values. The port number used is 33434 (by default). The destination typically does not have anything bound to that port, so it will reply with a port unreachable ICMP message.
Typically, on the internet, ICMP gets blocked, so a UDP traceroute might be better. However, the real choice will be what you're trying to measure. If, for example, you want to measure latency between your PC, and another network node, then you would want to use a traceroute on the PC.