This is the key question. If it could be answered here in one post, I'd get +1000 votes!
Do you think twitter was an instant hit? They launched in 2006... They had what is essentially no traffic for two years.
Some web sites are naturally viral. Many are not. For instance, the CEO of Mint spent a lot of time in the early days pitching to the press to keep the name in the news. That's because financial software is not something that you tend to share with your friends.
So having a great product really helps. That's 80% of the advice. And by product, I mean a solution to a problem, not a technology.
Then study analytics to understand what happens to the people that do make it to your site. A good lesson is that you tend to optimize for what you measure. For instance, if you measure the number of unique visitors on your site, that's what you'll improve. But maybe what you really wanted is for visitors to create an account and use your app. Then measure that instead.
Mostly, expect that it will take time. If you have $0 marketing budget, then you will have to engage with your customers and repeatedly see what needs they really have. Those tend to differ from the solution you built. Keep listening, engaging, tweaking... and my favorite motto: doing. If you are spending an hour online reading stuff, you just wasted an hour. Instead, you could have written a blog post, e-mailed a journalist and 3 key influencers in your space.