Honestly, this is a pretty difficult question. There are really numerous ways to generate traffic to your site, both paid and free.
The most fundamental traffic sources that everyone at least seems to have head of is SEO and PPC. Whether or not they implement it is a completely different story...
For me, I have ventured both in SEO and PPC and have had some great success with it. In short, the main differences with SEO and PPC are the following:
SEO take Time, PPC takes Money.
Before doing either of them, you really need to learn about them as much as possible (especially with PPC). Trying to do these things based on assumptions will only lead to trouble (this is coming from personal experience way back when...)
But, there are literally numerous ways to get traffic for online marketing: social networks, web 2.0 platforms, syndication tactics... it all really comes down to two things: testing and tracking. No matter what new channel to experiment with, you always need to track your results to see if they are worth pursuing.
Also, its worth it to mention that you shouldn't use these other forms of online marketing specifically for marketing. Other marketing channels aside from SEO and PPC usually deal in the form of offering quality content and establishing relationships.
Heck, I have been doing online marketing for years now, and I still continue to test and track new methods.