While Google, Facebook and other traffic sources can send you a lot of visitors, if you rely on them for your traffic you'll always be at their mercy. If one or more of them suddenly decides your site doesn't meet some random "quality score" or other factor, your traffic could dry up overnight. Fortunately there is a highly effective way to generate your own traffic, without having to worry about any other site.
The way to do this is to build an email list. When you have a list of subscribers that are interested in what you have to say, you can easily direct traffic wherever you want by simply sending out an email.
Just finished creating a new site? Just shoot a quick email to your list and you can be getting traffic to a brand new site within minutes.
Created a new product? You can be generating traffic (and hopefully sales) within minutes by sending an email out to your list.
Now you obviously can't use this method to generate traffic until you have a list, so you'll need to look at other methods to get your list started. But if you don't create an email list, you're probably leaving a lot of traffic and money on the table.
Even if you only manage to convince your subscribers to come back to your site one time, you're still getting twice as much traffic from those visitors. Let's say you get 100 visitors a day, and 10 of them sign up for your email list. It's a bit of an oversimplication, but if you convince each of those 10 people to visit your site one additional time, you'll get 110 visitors the following day.
Of course you also get 10 new subscribers the next day, so the day after that will see 120 visitors. As time goes by, this number will continue to increase so even if you never manage to get more than 100 new visitors a day, your traffic will still keep growing.
Email isn't the only option here either. You can get much the same effect with any type of relationship marketing, such as building a network of followers on Facebook or Twitter. The key point is you need to have some way to follow up with those visitors after they come to your site the first time. If you have these systems in place, you'll ultimately be able to generate traffic on demand.