That depends on your needs for the project. If it is a one-time project, then starting with a freelance designer is the best way to go.
If it is an on-going thing, then you should consider getting full time designers.
Bringing full time adds a salary overhead and benefits if your company provides any. But the good side is that you have the designer at your disposal, and a good designer plays a vital role.
Freelance is good, but can be a little bit more pricey. But again you don't have an overhead.
I agree it really depends on what you are trying to achieve. It can take sometime to source the right person to do the job. I disagree that you should only outsource to a freelancer if you have a one off project. My designer is a freelancer and I have been using her for several years because I like her style and she is very fast and efficient so I end up paying a lot less for the work and there is usually very few edits.
I think that for any business it is worthwhile investing in creating a good relationship with any member of your team. If the work you required isn't a full time role, then hiring a freelancer makes a lot of sense because you can build a loyal and trusting relationship with them and therefore depend on them to deliver.
It depends on your business, the amount of design work you need done, and importance of deadlines involved
In order to keep this answer simple, if you have tight deadlines and at least 6 hours of design work estimated per day for the foreseeable future, the answer is hire in-house, if not, outsource.
Obvious things to Freelance
Logo design, branding and any kind of "brochure" website.
Early mock-ups / screenshots of your product.
Pros: Cheap and fast.
Cons: There is little time for building the kind of collaborative relationship that a designer needs to have with the client to really understand your full vision. It's almost never that you get work from a freelancer that you'll be 100% in love with.
Very little accountability: Their job is to build what you tell them to.
Obvious on when to hire full time designers:
When your product or service is already successful enough that there is a long backlog of tweaks, new things to design, etc.
When the work you got from freelance designers was enough to get you your first customers, investors, or funding of some kind, but feel you now need to take your design to to the next level before launching:
Pros: Full-time resource who will almost always be less expensive than a contractor (in billable time) given the number of hours they will be working.
Someone who is accountable to deliver what you need and whose work can then be measured and quantified.
Cons: Ongoing financial liability.
Recruiting: Hiring *great* designers is really difficult. They are more sought-after than technical talent in most markets.
As others have stated, this really depends on the particular needs of the project, but more importantly the ongoing pipeline of work once the initial delivery of the project has been made. if the runway behind the project isn't as big for a period of at least 4-5 months after the first delivery I would recommend avoiding hiring full-time. I would avoid the overhead and developer a relationship with a shop that has scalable resources (versus a small team or single freelancer who can only commit to responding to your work relative to how it ranks in total $$$ relative to their other work.) Generally speaking, from my experience, the % time of designers on a general project is relatively low compared to other assets or team members (all things being equal), so having a resource you can expand or contract would be the ideal solution (i.e. not going full time design hire.) The other option is to work with a shop or team that offers "dedicated" resources - which replicated the full-time accessibility of an internal hire/team member with the added flexibility of going month to month on their hiring with options to pause and then re-commence later. Happy to help in any way or answer any further questions!