AFAIK, you can setup Virtual hosting (i.e. host more that one website) either with one IP address or specify a seperate IP address to each virtual host you have on your machine.
what is the use of making Apache listen over just one IP address...
I believe its used when you have a static IP address. Whereas, if you have a dynamic IP address, you would just want apache to listen to a port so that you dont have to go and change apache config file everytime your IP address changes.
I hope you understand...for more info you can read the apache config file (httpd.conf) file which has detailed explanation.