Maybe that's true, but there's certainly no demonstration of it.
Photo files are written by cameras always in the same (landscape) orientation. Portrait photos are tagged to indicate they should be rotated. Viewing software like Preview or the Finder takes notice of the tag and adjusts the orientation on the fly. iPhoto, on the other hand, chooses to rewrite the photo with the rows and columns flipped, at the time of import. Something is going wrong at this stage: the rewritten, reoriented photo is black.
When iPhoto does this rewriting, the new version is saved as if it were a manual edit (under the File menu, Reveal in Finder, you will see both Modified File and Original File for all portrait-orientation photos). But this new version is not marked as changed, so the Photos > Revert to Original menu item is greyed out. By performing a rotation (my step 2), we're just doing something, anything to get the files marked as changed. Then (my step 3) we do a revert. This throws away both our rotation, and the original rotation performed at import time. It causes iPhoto to go back to the original landscape-orientation file from the camera and redo the rotation. And it gets it right this time, problem solved.
So we're not really rotating the image in iPhoto; we're provoking an undo, which forces iPhoto to automatically redo a rotation which is not just a metadata tag but an actual decoding, rearrangement, reencoding of the image data.
Buadhai wrote:
Which further demonstrates that the problem lies with the way the EXIF data is stored. Rotating the image in iPhoto causes iPhoto to rewrite the EXIF data.