I think sharing is probably the first, tangible “adult world” lesson that kids are taught. Basically, it all comes back to – you can't always have what you want, when you want it. The world doesn't revolve around you alone. Nobody else cares if you are happy, except your Mom. Harsh lessons to teach a 2 year old, however true they may be --and they are true.
There are a few factors that come into play with sharing, the first one probably being: age. When children are still young, whether by age or maturity, sharing is something you can request (and begin to teach), but not demand, really. You can ask if they will share a toy with a friend, but you can't grab it from them to force the issue. When sharing does occur voluntarily, make sure that it gets shared “back”. So that it is sharing, and not giving away. I tend not to use the word "sharing", but rather, "taking turns". Using properly defined words is helpful, even with small children who may not fully understand the entire meanings behind them.
Help them to understand that people can take turns, and that it will come back to your turn soon. I do a “ 2 minutes, 2 minutes” rule. Each child gets to play with the coveted item for 2 minutes, with Mommy passing it back and forth and explaining how we each take turns, and our turn comes again quickly. This is best in small group settings, not large groups with lots of commotion. It's a training time really, but must be explained and done in such a way, that they realize not only will they be “giving it away” for 2 mins, but that it will come back to them. Depending on the mood or attitude of the child, they may cry the entire 2 mins they don't have the toy, and that's ok. Once they learn they really do get it back, they usually get over that quick.
Now into the “grey area” of sharing. I don't think all things need to be shared. There are special toys etc that are not for others. Perhaps even special blankets etc. However – the issue I have with this is that most parents these days seems to fall into the “permissive” category when it comes to their own child. The rule should be this: If it's so special, then it shouldn't be “out”. Kids should not be allowed to carry a security blanket with them, everywhere they go. It's just bad parenting, in my opinion. Dragging it around your own house? Ok, fine, if that is what you want to do. But bring it to Target? No way. There has to be boundaries, and the kid needs to learn that. So anyway, if Mommy lets 3 year old bring a Transformer to church, and then won't allow it to be shared...I consider this not only bad parenting, but rude, because you know the other kids are going to be all over that, so you are basically creating a sharing issue, and you're the parent! How dumb is that. Now, if you invite a family over to your own home, then it's a little different – but the “offending” toy should still not be paraded around in front of the others, if it's not to be shared.
We have toys that we do not allow anyone else to play with (Kenna's Playmobil & Dollhouse). That means when guests are over, Kenna is not allowed to play with it either. Dragging a blankie to the park, and not letting other kids touch it is not ok. Having people in your house, and not letting them touch it is ok, if that makes sense? (Like, it's getting near nap, and you pull the blanket out). Kids need to learn both sides of it.
When my kids want to bring a toy “out” somewhere, they are under very thorough instruction – if you bring it, you must be willing to share it. When they are little and can't understand, the answer is no. We don't drag our things all around the world. They stay home, no exceptions. So then you are at church or the park where only “neutral” toys are in play, that don't actually belong to anyone, and it's easier to teach the 2 mins rule.
When they are older (whether by age or maturity - anywhere from 2 to 4), the sharing focus shifts. They know how it feels to be on the other end of “sharing” - wanting to play with something cool, while some dumb kid holds on to it for hours and won't let it go. The over arching theme in my personal parenting, and it's also a good theme for life – Love always does what is good for someone else, (and also going with that, teaching kids the preciousness of others) – Sometimes that is not always apparently obvious at certain stages, ages, or situations, but its' always working toward that end goal, so I feel it all comes back around to it.
Teaching kids to wait their turn is important. Teaching kids they can't always have what they want is important. But teaching them to show love is also important, and it is (for most people and most personality types) a very unnatural thing. Children are the epitome of NOT self sacrificing humans. They always have their own best interests at heart. This saves their lives in infancy. Or maybe we'd not feed them enough, right? It's God's will that a baby cry for its food, and mother. But it's not God's will that a 15 year old cry for food or mother. So somewhere between there, we need to shift their focus from the me and self preservation to God and others. So declaring that “I won't teach my children to share” is actually fairly unbiblical. Maybe the difference is in the definition. I teach my children to share, I don't make them share. When they are 1 and 2, it's a process, and it doesn't always happen or happen “properly” - by the time they are 3 and 4, they have it down pat, and you can begin to introduce the moral reasons behind the “why's” of the situation.
Remember when Johnny wouldn't let you have a turn with his race car? How did that make you feel? Did you just want to try it out? Were you willing to let him have his turn too? Was it something that you could play together with (teaching kids to play with each other comes in time). So, if you want to bring your superhero, and Johnny wants a turn with it, what will you do? What will you do if he decides he won't let you have a turn back? (unfortunately, we all know those kids/moms :-/)
If the child is not ready to handle these situations in stride, then don't bring the toy. But helping them to see that just as they have the burning desire to play with a new toy – so does your friend. (children are so “me focused” the thought literally never occurs to them). Teaching them that other people are of value, and are worth loving – by sharing a toy. There aren't a whole lot of ways kids can practically show love to their little friends, but this is one way.
We don't teach sharing for really any other reason, that I can think of, than because it esteems others as better than ourselves. Others are also worthy of the joy that we experience. It's biblical, and it grows children into adults that consider the preciousness of others, in all kinds of situations. It's a hard lesson for a small child, granted. But neglecting to teach it at a young age means that its not in their hearts, which means, it's missing.