I see that an Apache config can specify a particular IP address on which to listen (at least when defining VirtualHosts):
NameVirtualHost *:80
<VirtualHost *:80>
Under what circumstances would it be advantageous to specify an address instead of using a wildcard?
(I recently worked on a machine whose IP address changed, and the guy who had configured Apache had not used a wildcard, so it failed to serve anything but 404s. It didn't occur to me to look for this configuration, so the problem went unresolved until I asked him to troubleshoot with me. Could I have gotten more debug info from the service or logs that would have helped me identify this problem?)
If you host more than one site on the same server, you can separate them using different host names or different IPs.
For example:
Host-Based virtual host configuration:
IP based virtual host configuration:
You can find more info on Apache Official Documentation site.
The most common practical reason to bind specific virtual hosts to specific IP-addresses was typically to support different SSL certificates for different HTTPS sites on the default HTTPS port.
With the wide adaptation of SNI support in modern browsers that is no longer as much of an issue.
A second practical reason would be on multi-homed web servers. The intranet website on the internal network is restricted to that network interface, enforcing that it is only accessible from the internal LAN not from the WAN interface (with spoofed Host: headers for instance).