I am often asked why dogs like to roll in poop and other disgusting things. In fact, a significant share of stories about Milo has to do with him rubbing some odorous things on his neck and us trying to get rid of it. So why do dogs like to smell of disgusting things? No one knows for sure, but two theories exist.
Disguise
Some people believe that dogs roll in poop and other things to hide their own smell when hunting. Of course, nowadays pet dogs do not have a need for disguise – their dinner is served twice daily without them needing to move a finger. However, many habits persist through generations. In fact, you may be surprised to know that a large proportion of our behaviour makes much more sense in the hunter-gatherer society than in our post-industrial world. In the same way dogs still keep some habits that would be more useful in the wilderness.
Attraction
Another theory suggests that dogs use this smell as we use perfume: to attract the opposite sex. Availability of such things as poop, dead animals and rotten food suggest abundance. In other words, if a dog smells of those things, he is most likely coming from a rich land, and, therefore he is cool and attractive. Again, the majority of pet dogs are spayed or neutered and will never get a chance to reproduce, but their instincts have survived.
Personally, I believe that both theories have some truth to them. However, I have a third theory. I suspect that some dogs just do it for fun. After all, dogs, as other domesticated animals as well as humans, are described as being more childish than their wild cousins. This process of preserving and prolonging juvenile behaviours and appearance features through evolution is called neotenization. This feature that humans share with dogs makes both species able to enjoy play for the pure fun of it.