In its simplest form, the host cache simply returns the IP : port combination for X amount clients that connected to it previously. So, whenever YOU connect to a hostcache, your IP : port combination is stored there. The next person to connect to it, will receive your IP : port combination.
Why? Because whenever you connect to a hostcache, you pretty much indicate you need to fill one or more connection slots. The next that connects to the hostcache does too. So, what better way than hooking you two up with eachother...
But beware. The classic hostcaches are slowly being replaced by the more popular GWebCaches. GWebCaches are HTTP based scripts, which allowes anyone to install a GWebCache and thus solves some of the "centralized" aspects of hostcaches. For more information, vitist
http://www.gnucleus.net/gwebcache.