um master dns is the 'master' dns server for that domain. the root dns servers will point to the master dns server. i.e when someone types in
www.domain.com the dns query will go to the master dns server.
slave is what i think we refer to as a secondary. this is a backup to the master. at set times the secondary will update itself from the master if any changes have been made. basically if the master goes down the secondary is there to serve.
caching only name sarver? well my guess would be that it caches dns resolutions to speed up dns query time.
u'd use a master first of all then secondary. um...as i said above the fate of the master going down would casue quries to be redirected to the slave or secondary.
hope that helps?
G