Dsniff is just a sniffer that parses out passwords from common plaintext protocols(it also sometimes grabs hashes off of the wire that you can crack). DNSSpoof, as I understand it, just acts as a false DNS server and when a user requests what IP goes with a host name DNSSpoof returns what you tell it to.