I took a look at the images you provided. They were quite helpful.
It’s not really that ImageOptim is doing a crappy job at compressing. It’s more that it’s stripping out the embedded color profile. The top photo has a “ProPhoto RGB” color profile embedded. ImageOptim strips it out while producing the lower image. Because it strips it out without converting the image’s color space, you get the results you see.
While browser support has gotten better, not all browsers on all platforms handle embedded color profiles correctly. When they don’t they will see the top image appear identical to the lower one.
It’s a good idea to covert any images for use on the web to the sRGB color profile. This eliminates the need to embed a profile, and it helps ensure the image is displayed correctly for all users.
Here’s a good link about converting to sRGB and why:
Btw, that first image includes a lot of EXIF data (names, dates, locations, etc.) that are stripped by ImageOptim. If you don’t want to use it for compressing images, I would still use another utility to strip the EXIF info.