My dogs have never rolled in poop. However, my Jack Russell loves to roll in the grass. I don't mean the lawn only. If you have grass on your shoes, she will attempt to rub her head on them. She does the same thing if there is grass on the carpet. I don't really know why, but she can be quite persistent about it.
I did a bit of research for dogs rolling in poop. An article states several reasons for this.
One reason is to mask a scent. Dogs will sometimes roll in poop to mask the scent of shampoo from their bath, for instance
Another theory is that they are communicating to the pack what they have found. Some dogs will roll in the spot where there is a dead animal, for instance. As it is an instinctual action, perhaps our domesticated dogs associate bad smells with this type of communication? Since some dogs eat poop, they might not differentiate between a dead animal and feces. It sounds disgusting, but if you think of wild dogs, being able to inform the pack where there is food, would be beneficial. Since their sense of smell is so strong, they can probably smell that stinky dog for quite some distance.