Bit of a blanket statement here. Depends entirely on the situation. Many developers don't have control over their client's DNS so it can be preferable to use an IP if they are liable to update it, let it expire, etc. Obviously generally less maintenance to use a FQDN but an IP can be updated immediately without waiting for DNS to propagate when time is of the essence. Also when the application is first rolled out clients sometimes haven't worked out their domain name, etc. Calling developers rubbish if they happen to use an IP address for something without knowing the situation is uncalled for.
+1 for instance some firewalls cannot use DNS for rules so the access rules has to be done on IP, so even if there was DNS changing the IP would cause issues.