To collect traffic at your website start book marking at social websites. Directory submission, build back links, forum posting, comment, artical submission. I am sure after this you can generate huge traffic.
there are a lot of ways to promote your website for free (like link exchange or word of mouth etc) or very cheap ways (like paid to read or paid to click ...) to get search engine rank it is so good to start promoting your website for free for the first few months because you fix your weakness and problems without losing money .
but as long as you get rank in first page of a search keyword you cant hold on to it anymore and you have to start paying because when you get on the first page of a keyword you are a competitor for the others and if you dont advertise they will advertise to get you out of competition i think taking a part in sem( search engine marketing ) is absolutely necessary for your websites success .
and the other thing is choosing your keywords to optimize your websites on it you can find out more about keywords on http://adword.google.com choose keywords that has less competitors and more demands if you have less competitors you have more chance to get your website to first page but for the first 3 you definitely have to advertise
I've optimized this post for the word "you"
Paid to click and paid to read method for advertising like sales and affiliate promotions websites is not an advantages way at all it is waste of money and time also and also will be heavy load on the server so other ways which people are mentioning like seo and social media marketing are the best ways and also article writing, link exchange and etc.