Is that your personal experience?
I read almost only negative opinions about Upwork, and it's seems another broken solution looking for a problem to solve.
Work for Toronto-based company. Most of our developers work remote (in S. America, Europe, Asia, etc) and were discovered via Upwork.
We've been growing, so all the good devs have been retained long term (12-24 months and counting). IOW, if you're good (decent tech chops + strong English communication), you can find long-term engagements via upwork in places that pay well.
The best engineers are likely not using that. Most of them get burned, and you're mostly left with engineers that are reallly good at marketing. I could be wrong. I tried it for a few months. I only got one question, and I basically helped a guy understand docker for free during the evaluation. I guess someone needs to start an upwork for serious people.
We did churn our share of low performers at the beginning. I'd say 5 of the first 10 hires stuck (most of the churn was us terminating the relationship). The ones that stayed were able to refer a friend or two.
Also, another downside: fraud. We ran into 2-3 folks who were operating outright scams, ranging from an agency posing as an individual, to identity / account theft.