The problem is that many (especially newer) cameras don't actually rotate the image, they just change the header (beginning of the file) to mark which way to view it. If the viewer program doesn't obey that, then you have that problem. The reason they don't actually rotate it is a matter of picture quality. If the format of the picture is a lossy format (like jpg), every time you save it as a new picture there is some loss of quality (noise) added to the picture. The reason that they use lossy formats is because the file size is much smaller, which is important for speed and storage space.
Sent from my Hallicrafters S-40 using morse code.