Excluding some Diameter base requests, Destination-Realm is mandatory in all Diameter requests. Request forwarding is done based on it along with Application-Id. In some cases (typically server-initiated requests like Re-Auth request in Gx), Destination-Host is also mandatory.
In some cases, client application may want to send a request to a particular server. One example: if you want to load balance the on-line charging servers (OCS) when using Gy. You may want to partition based on say, range of mobile numbers or IP addresses of the request originator. If you specify the Destination-Host, request will be delivered only to that server, otherwise Diameter forwarding (look up based on Dest-Realm and app-id, but most implementations support more sophisticated algorithms).
Server initiated requests typically need to fill in the Destination-Host (even if it is not mandatory) because there would be many clients. But if requests are sent over an established session, Diameter nodes can figure out the recipient.
Answers are sent back the requester along the same that that request traversed, so you don't find these AVPs in answers.