virtual hosting is a way of serving more than one domain on one server.
it's made by configuring apache and setting up each domain with their own paths in the server, their own security levels, etc...
you can share one ip address, or use different ip addresses.
that's a simple answer but you'll find more info by browsing this group, just search for virtual hosting and you should find all you need..
J