Shame is what we feel when we are caught doing something wrong. What is "wrong" emerges through cultural/social interactions and is typically associated with anti-social behavior, behaviors that will weaken the social network. The key here is that one does not feel bad about doing wrong if one is not caught doing it by anyone. It is important to do good in public, where everyone is watching you, but that doesn't mean one has to do good in private, where nobody is watching you.
Thus, in a shame culture, all generosity must be made as public and obvious as possible. People have to know you are being generous. The result is much more charity, if charity is seen as a good behavior.
However, in a shame culture, you could also cheat on your husband or wife, and so long as you weren't caught, it wouldn't matter. This, of course, is going to make it more likely that someone will cheat on their spouse.
While shame is a social regulator of behavior, guilt is an internal regulator of behavior. In a guilt culture, the individual internalizes the culture's morals. That is, you don't have to be caught to be doing wrong. You judge yourself, and that internal judgment is called guilt.
Of course, in a guilt culture, you are going to be less likely to do things like cheat on your spouse, because you will feel guilty for doing so. One won't cheat to avoid feeling that negative feeling.