Freelancers often do not have a very robust process. The do not offer the type of structure and knowledge that an entire company can bring. Freelancers lack of process often results in missed deadlines, poor communication, and underwhelming work. Freelancers often work in many different industries. This means that they can not specialize and offer industry insight or support.
Because a freelancer is only one person and works on their own schedule they often offer limited support. If your website goes down while they are on vacation you are left without a website for weeks or even months. This can translate into lost sales. If your restaurant website is down patrons may begin to believe that your restaurant is closed or has gone out of business.
Contractors can offer great quality work at a reasonable price. That being said there are far more mediocre freelancers domestic and overseas that offer cookie cutter solutions and use outdated coding languages. Additionally it is even harder to find a freelancer that is both a great designer and developer. That is why it is better to hire an entire team of professionals. Together the cost is actually comparable for a much higher quality product.