When adding binary files, you must ensure that the file and its metadata are unique. If one of the values, for example. the file name looks the same, but the rest of the metadata does not match, then the deployment will fail.
In this example (as Nuno points out), the binary file 910 is trying to expand by the binary files 703. The file name is the same, but the binary code is identified as not identical (in case a different identifier is from the same publication). For this example, you will need to rename one of the binary files (either the file itself, or change the path), and everything will be fine.
Other scenarios may be that the same image is used from two different templates, and the template identifier is used as a variable identifier. If so, this is the same image, but the varient identifier is not checked, therefore, in order not to overwrite the same image, it does not.
Often nonpublishing can help, however, the image is deleted only when ALL links to it are deleted. Therefore, if it is used from more than one place, there are more open links.
This is a logical defense against the deployer. You would not want the wrong image to replace another and either upset the layout or potentially change the content to another collection (think of an advertising banner).
This is the actual cause and cause of the above problem (something came from the forum)
source share