In my experience there are two types of freelance work, one where you are basically an employee with a different contract (more money, less security). The other is where you are expected to take on as much responsibility as possible and manage yourself (I like to think of it as an one man army). I've been in both roles and neither is inherently better because if you force one role on your client, it is going to end badly and leads to dissatisfaction for both parties (been there done that, went with self reliance mode when employee mode was desired, needless to say I am now much more vigilant and make sure I know what the client wants).
I can't be really angry with the parent comment because I've seen the same kind of arrogance from contractors. The counter to his point could be that employees are afraid of performing or getting tested in the real world, hence they train for a series of theoretical interviews and whiteboard coding and once they land the job they just float along the other employees, stay low and perform as little as needed. This is not my opinion but rather what I have heard from other contractors so don't take offense. Not to mention that one shouldn't be offended by general statements because they offer a modicum of truth at best.
Perm employees, particularly junior ones, are often hired because they can be developed.
Whereas, contractors need all the skills to do the job on day one.
As a perm employee, I assume contractors are somewhat elite at what they do.
Typically with freelance/contract work, there's less of an interview stage. Because the client can let a freelancer go immediately if things aren't working out, there is less risk to taking them on initially, particularly in places like Europe where there tend to be relatively strong protections for employees.
Combine that with a level of workers whose effective charging rate is in the same region as the equivalent salaried position, and a lot of people who wouldn't do well in a closely supervised, salaried position can get by as freelancers.
Naturally a client who doesn't understand the freelance/contracting market and expects to hire good people at the same rate as they would quote an employee's salary is taking a chance on the quality they get. They might luck out and get someone good but naive from the contracting side, or they might just find someone who isn't very good but gets by because of the lesser supervision.
One thing that is almost certain is that the good people will eventually realise they are underpriced and adjust their rates accordingly, while the bad ones won't. Moreover, rates for good people can scale up far more in proportion to the value they actually offer when they're working semi-independently than it would as an employee on salary.
In short, if you want to engage a freelancer, you probably will get what you pay for much more directly than if you were hiring someone on salary. And that means if you're offering well under market rates (and if you're hiring at a direct translation of salary, you are) then there's a good chance you're going to work with not-so-good people.
Outside of tech or in smaller companies situation can be completely different. I can easily believe that contractors can be more vastly more qualified than average IT employee at random retail/fast food/etc company.
Another exception are people working in consulting arms of Microsoft/Oracle/HP. I know that those guys know what they are doing and can easily charge $300+/hour. I never worked with them.