Hire outside when you don't have the talent inside. Sounds simple. But when you are looking for leadership skills in your company don't get your P's mixed up...personality and performance. Just because employee Alex is always smiling, treats all customers politely and always shows up on time, does not make Alex a candidate for a leadership position. The most common mistakes made in personnel are promoting the most senior person in the department, or the friendliest person. If you need a position filled, and your in-house people leave you feeling unsure, then you should go outside.
If the new supervisor needs to reduce head count, or make major changes, go with an outsider. Even the best inside person will have major problems laying off or reprimanding people they have just worked with. If you are opening a new business line, bring in skilled leadership for management. It is nearly impossible to ask a current worker to start a new business segment and learn to manage people at the same time. For instance, if you are going from a manual to computerized shop management system, go with outside computer experience.
If you are in a family business, and you have two nephews working, it is better to bring in an outsider as the family grief you will encounter by promoting one over the other will be divisive. If you have two positions to fill, use the qualified nephews. Sometimes you have to 'create' a special position if one nephew is great and the other is average.
You will generally pay an outsider more than you would have to pay an insider. If Bill is making $600 a week, and you offer a promotion and a 10% raise, you'll have a deal. An outsider will have to be induced to leave a job; you'll have to cover benefits differentials and make the job attractive.
Possibly the person will be out-of-work, and you can make a deal, but don't forget, you get what you pay for, in buying horseshoes, or hiring leadership people.
The outsider will cost you more in the short run--running ads, interviewing time and a crash course in your company and systems, but after a month, you should be ahead of the game. If you're not, consider that you didn't select the right candidate.
Most companies have a tradition of promoting from within or hiring outside. This should never be completely set in stone. My experience is that no more than two-thirds of initial supervisor positions should be from one source. And, your senior supervisory positions should be split evenly between outside and in-house hires.
I know a lot of glass companies that don't hire experienced people because they don't want to poach an employee from a competitor or vendor. If someone good approaches you for a job and you would like to hire, put a small ad in the Sunday help-wanted. Tell the applicant to call you on Monday for the position. Yes..this is a like a "stupid pet trick", but if you are uncomfortable, this works. You might even get a few walk-ins that can help you too!
There is no absolutely correct answer whether to promote from within or hire outside. If you have the people and the time to have them ramp up, I feel promoting from inside is the way to go. This approach, with a few outside hires will give make a great company.