Originally Posted by Blackjack Davy:
“Dogs do it because of instinct, pups beg food from their parents by licking their mouths to stimulate them to regurgitate food and they're simply carrying this behaviour over to their human care givers.”
Very close

The first part is correct, the second is not.
Most juvenile behaviours actually take on new meanings in later life. They change and take on new ritualistic properties with maturity and life experience.
In an adult dog, licking is not a request to regurgitate food. It has different significance depending on the context, but is typically a sign of insecurity, friendliness or used as part of a greeting. It could be a learned behaviour simply as a way of gaining our attention if they've learned this is successful. It is also possible they just enjoy the salty taste of of skin/sweat/oils, or are attracted to whatever scent is left on our lips from whatever tasty food last passed over them.
Ever seen two friendly dogs lick each others faces? Same again, they are not requesting food of one another, they are communicating things like mutual friendliness, or if the gesture is one way, one is accepting the higher dominance of the other in order to prevent conflict.
I allow it. I enjoy bonding with my dog in every way possible. It's lurrvve!
Totally understand where the poop-eaters are coming from though. "you're not kissing me with those lips" is a phrase I sometimes use! But largely, with strong Leave It training I can generally stop my dog from burying her face into filthy things.
Yes there is the risk of picking up a parasite or infection, but I don't have hygiene OCD's and it's just another small risk along side putting on shoes, touching toilet handles, handling raw meat or touching anything in a public place.
Pick up a copy of the books "How to Speak Dog" and "The Evolution of Canine Social Behaviour" if you're interested in learning more about this kind of stuff.