There isn't a way for you to stop her from rolling in things (at least that I know of)...she's a dog, that's what dogs do. My dogs do it all the time, and I'm pretty sure that everyone elses dogs have done it at some point in time. Yes it can be disgusting but it's just something that you're going to have to put up with.

Why do the dogs do it? Well I think it's a way to mask their scent I'm not quite sure about that, but I think that's it.