Nowadays, the only thing that will keep people on your site longer, and even keep them coming back is the quality of your content. So you have to make sure what you are offering is of high quality and can't be found anywhere else.The problem with getting traffic to ones site, is keeping that traffic there for a long time. You want to convert every visitor to a new user, but that usually is never the case. It's one reason I don't like to purchase traffic for sites anymore, as they provide a boost in activity for a little while, and then that's it. Usually they don't stick around.
So, what are your methods for keeping people staying on your sites? I think doing a giveaway is a good option, but that also results in the same situation, where they show up, enter and then leave. What do you do to keep people around?