Google Adword can give you targeted traffic but It can give sometime irrelevant traffic so it could little bit costly
Yeah that is true. Adwords will generate traffic to your site, but it can be quite expensive, especially if your not converting that traffic to sales. I've run Google ads before, and to be honest, I didn't have much luck with it.
If you are looking for free options then guest blogging is best to get real targeted traffic.Otherwise,If you have a budget you always can go for targeted advertising.
To get targeted traffic try Google Adwords, if you can afford it as there you bid on keywords to get your site at the top of the search when your keyword comes up.Other option which requires small cost is to buy service of targeted traffic from freelancers on webs like Listingdock,SEOClerks...