phashes compute a hash on one image which you can then compare with the hashes for other images; butteraugli computes the difference between two images. If you're trying to find duplicates among a set of images, phashes will work in O(n log n) time and this will run in O(n^2) time, but with more accurate results.