One thing about traceroute that I doubt most casual users think about (maybe I'm wrong) is that its output only shows you the forward path. That is, it shows you the path your packet takes from when it leaves your machine to when it gets to the destination. The path that a response packet originating at that destination and travelling back to you can take a different path (sometimes wildly different) and - while you'd see that captured in latency - you wouldn't see it captured in the list of routers.
So a packet from Seattle to Hawaii may take the most direct undersea cable, but the response packet may be routed through California, adding significant geographic distance.