The challenge with virality is that it requires a chain of behavior. Joshua Porter, over at Social Design Blog, mentioned that there are several parts to building a viral product; One is creating the pathways for it to happen, to create the ways in which your customers can spread what it is you offer. But another part is even more important, designing the motivating mechanisms for doing so; in almost all cases it needs to be a win-win situation.
In other words, the people who are going to spread your product virally (the behavior you want) have to be getting as much out of it as you are. This is why referral programs work so well in some cases…people are getting paid to send others your way.