The problem (programmer point of view here) is that detecting duplicates is really, really complicated, it involves complex imagery algorithms, that are both CPU and storage expansive.
I guess the current detection system checks for file hashes but hashes change if you just remove the EXIF metadata for example, whereas the image data are the same, imagine the case when the image has been re-encoded...