In the case of a web server, it depends. If you have multiple virtual hosts then in Apache for example, the server knows which IP to use from the VirtualHost block.
You can also have a VirtualHost listen on all available interfaces which Apache is currently listening on (via the Listen directive eg.
In the event you have multiple sites running on a server where multiple sites are SSL enabled, it is good to have a separate IP for each site. This is because SSL certificates are exchanged before the HTTP headers are sent. If you have multiple vhosts on one IP, then Apache will not know which site you are trying to reach without the host header.
I'm sure there are many other use cases, this is a common one.