Traceroute asterisk and !H responses

When using Traceroute on a Cisco IOS device, there are a couple of different responses that appear that mean different things.

When a router does not receive any response from its echo requests sent out using traceroute, this is indicated by an asterisk.

When a router receives a response from its echo request from an intermediate router saying that the destination is unreachable, this is indicated by: !H.

In the first case, the router gets no response at all. In the second case it gets a response, albeit the response is from another router saying that the destination is unreachable.