Following the path, hop by hop
traceroute prints every router (hop) between you and a destination, with a round-trip time per hop. It works by sending packets with deliberately low TTLs — TTL=1 expires at the first router, which sends back an ICMP "time exceeded." TTL=2 expires at the second router, and so on. Each "time exceeded" tells you who that hop is.
Asterisks (* * *) at a hop mean that router didn't reply to probes. Usually that means it's configured to silently drop or rate-limit ICMP probes — not that there's a problem. Real packet loss shows as multiple consecutive hops dropping replies.
mtr — traceroute with feedback
mtr is what you actually want. It combines ping and traceroute in a live-updating display: every hop, with continuously-updated loss percentage and latency averages. The only useful tool for diagnosing "this destination feels slow" — you can see exactly which hop introduces the latency or loss.