I read once that dogs roll in other animals' poop to try to hide and cover their own scent. It comes from the days when they used to have to hunt to eat and did not want other animals to smell them. It's weird, I have five dogs but only one of them rolls in other animals' poop (or even more disgustingly, dead animals- today she found a dead bird and was rolling around in it before I figured out what she was doing!)