When I work out the cost of advertising I compare it to a cost per click on adwords. So if I spend $500 a month and get 500 clicks then my cost per click is $1. Now I can go on spending $1 per click or I can pay for some SEO work to mitigate some or all of adwords cost.
Its always when you are concern about the long term growth of your company but when it comes to outsourcing I would never do it unless they themselve rank well for keywords like SEO / Search Engine Optimization