Search engines are the best sources of traffic. Then you can get traffic from forums, article directories etc
It depends on the site. One of my sites gets the vast majority of its traffic from Google, while another gets most of the traffic from links on other sites. Ideally, you should try to work on getting traffic from many sources. That way, if a problem develops with one, you still have traffic coming in from other sources.