I think sometimes it can be some bird poo or similar that they can smell, but we can't.
My old dog was a shocker for rolling in gross things. Rotting roo carcasses was pretty bad, but I agree that the rotting carp is the worst smell. Great if you then have to take the dog back in the car. That's why I now always keep a bottle of dog shampoo in the car!
I had to wash Banjo at a friend's place a few months ago because she got rotting eggs out of the compost and then rolled in them. Actually, that was probably worse than carp!