There is a big difference between outsourcing and hiring a freelancer / contractor.
Outsourcing is mostly you selling a service ( such as
SEO ) and then paying someone else to do the work someone has paid you to do.
Hiring Freelancers on places like Upwork, swings and roundabouts to be honest as most of them do not have a tangible trace of their work or reputation outside of Upwork or other freelance site.
Which in most cases means you have to trust what they say over doing your own research. That' said, I am listed on Upwork ( although never got a project from it ), my experience is people who use Upwork want something done cheap rather than paying a professional the correct costs of what they are asking.
As with everything in this world, you get what you pay for.