If the MME fills in the Destination-Host AVP, then Destination-Realm is not used in the forwarding decision. DRA will forward to the specified host, and if the host is not available (it is down or is not reachable), DRA would respond with 3002.
If destination-host is not filled in, then Destination-Realm is used to make the forwarding decision. In this case, if one server is not available, alternate servers will be tried by the DRA.
If you are implementing the MME, it may be a good idea to send with the destination-host filled in, and if the request comes back with 3002, you can send it without destination-host but with destination-realm filled in. We have seen this approach used especially for session based requests (Gx, Gy etc).
Many implementations use two-layered approach. If the base stack and the processing server application are running as separate processes, it is possible that the HSS itself may return 3002 if the application crashes (and stack is still running). We have seen this with a popular OCS solution.
rk