An image copy is an exact copy of what is in the area of the disk drive which contains the database.
An unload is a like writing a program to read every segment sequentially using an unqualified GN and write it out to a flat file.
There are lots of options for each one. To me, the most important one is for the unload, and it tells it to either uncompress the segments or leave them compressed.
Image copies are used to make a clean backup of a database, and can be restored exactly as-is. That requires that the database definition NOT change between the ic and the restore.
An unload is used to do things like re-organize a database. Since the restore of an unload is really a reload of the entire DB, it puts everything where it belongs. This helps eliminate split records and split CI/CA's.
The unload/reload is also needed if you change the database definition. You unload with the old definition and reload with the new. They can also be used to move data from one system to another with different, yet compatible, definitions.