This is a question I've been pondering for the last few months. Although you might think my answer would be- "always! let SmallBox handle it"- it isn't. Beyond the fact that we aren't going to be the right marketing outsource solution for every company, there are also very legitimate reasons for many companies to have internal marketing staff. Some of the variables include your industry, your marketplace, your size, your target customer, etc.
The question becomes when and how to go outside for these services. The challenge with modern marketing is that it is incredibly complex. The old days of print/TV/radio are long gone. We have a fascinating and frightful multi-channel world now. How a company leverages these endless marketing opportunities is often the difference maker.
Consider just the Web marketing realm. You have websites (infinite choices there alone, should you spend $2k for a Wordpress site or build your dream home for $50k?), Search Engine Optimization (more science than voodoo but still a mystery zone at time), Pay Per Click advertising (Google AdWords for instance, like going to the Casino, it's easy to lose a lot of money if you don't know what you are doing), Email marketing (so many providers and ways to approach email), Social Media (ok, now I have my Twitter account set up, what next?) and that's just the major areas of focus. You can get into Video blasting, banner advertising, re-targeting and a dozen other niche Web marketing options. It's overwhelming.
So I recommend running a costs/benefits analysis when looking at your marketing spend. If you hire someone to build a new website, optimize it for search engines, oversee email marketing and set up Pay Per Click campaigns you will most likely only find someone that is really good at one or two of those things. Even if they are really good they won't have the benefit of a team to push them to do go great work. So now you are looking at $60-100k yearly commitment minimum to bring on a full time employee for these tasks. Chances are you can find a local marketing shop that has expertise in most of these areas and it probably will come in at or under the cost of hiring a full time employee. Also, chances are that local firm will do a better job at getting you a return on your marketing investment than the in-house Jack or Jill of all trades.
If you are looking for a place to start I would recommend you do a Google search for Web Marketing Indianapolis and start with the companies on the first couple pages. You might just find us there. :)
Or you can just set up a free Web marketing consultation with me.