According to Mr. Lammle:
If a packet is lost on the return to the originating host we will probably see a request timed-out because of an unknown error.
If a packet is lost on the way to it’s destination, we will see a destination unreachable message. Typical cause is a router along the way does not possess a route to the destination.
To summarize, a packet can successfully reach its destination and on the return can be dropped at the destination host or a successive router because a needed route does not exist.