Mine will go to random organic crap but they bring it to me instead of eating it. Perhaps if they weren't as well trained they would eat it instead, would have saved my stomach a few heaves over the years.
As others have said, teach a "leave" command and a "give". When I was a younger, keener trainer I had three commands for your situation, "leave" if I saw them going towards something rotten, "drop it!" if I didn't fancy touching whatever they had brought me and "give" for those occasions when the object was fresh. They were the days, now I just cover my hand in a fresh poo bag and graciously accept whatever it is they bring from dead rats and snakes to more normal retrieves.
I don't think it is anything to do with diet, more to do with the age of the dog and the level of training you have reached with it. Dogs are scavengers and will scavenge unless taught not to, once your dog is used to bringing you everything then the eating habits will change.
In life, it is important to know when to stop arguing with people and simply let them be wrong.
Thanks very much for all the comments and advice. The "leave it" command is coming on well now and I am learning to be firmer with her. She seems quite a sensitive wee thing and I don't want to frighten her but now that she's growing up a bit more, I think that she can take a more robust approach on occasion! "hold" and " give" will be the focus this week and I'll see how we get on.