When it comes to advertising, it can be as costly or as affordable as you want it to be. The only catch is, the market is flooded with random marketing that often drowns most businesses. However, there are a few ways to limit the cost of advertising by utilizing limiting factors.
Just keep in mind that advertising is often not a need when it comes to small businesses. By making a web presence using social media and a website, you will see a marked improvement in your web traffic. Also, advertising doesn't always mean you're going to get more bang for your buck. It can actually wind up being the opposite, mostly because everytime someone clicks on your link, the advertiser makes money whether or not the customer actually shops or even looks at your site.

A prime example of both an affordable as well as an extreme cost for advertising would be Google’s Adwords. Adwords is Google’s advertising agency that is directly linked into their search engine which, as far as exposure goes, would be a great way to increase your visibility. In order to target the best audiences, they can also limit the scope to a particular region and by the search characteristics of the person using the search engine. Overall, this means you can get some extremely good exposure without getting so broad that you’re wasting advertising money on individuals who have no real need for your services. The down side is that the cost if your keywords are based on their popularity.
In order to estimate the cost, Adwords uses keywords as a base from which to determine whether or not your ad would be relevant to a searcher’s needs. If the keyword isn’t commonly used, you can often place a low bid for the cost associated each time a person clicks on your link. If you’re the higher bidder, your ad will be ran at the cost you chose. The downside to Adwords' method is that if the keyword is extremely popular, the cost per click goes up. In most cases this isn’t a problem, but if you were to advertise for insurance, the current cost per click associated with insurance is around $55. For a small business this might not be affordable, having to pay $55 each time one person clicks on your link can add up quickly.
As for most keywords, the cost won’t be as high and could be extremely low. Even so, to prevent from receiving a huge bill that you can’t afford, Adwords allows you to place a cap on the amount of clicks that you receive.
As for facebook, they use two diffrerent methods of advertising to it's users. Both the pay per click method and the pay per mille method are used. Out of the two methods, the pay per click method is similar to the Adwords' pay per click method, but isn't based on searches so the cost is more even and not as extreme. Even so, the pay per click method is also based off of how much the your willing to bid for each click.
The other method, pay ber mille, has a slightly different approach to charging for advertising. Pay per mille means that the your paying per thousand impressions. This can be a cheaper method, but it's mostly based upon the amount of times the ad is displayed. There are ways to limit the audience, but one of the biggest drawback is that the ad could be displayed and completely ignored and yet you still have to pay for the ad being displayed.