There are a few advantages apart from straight up hourly rate:
1) The big one is that you get a ready-made team of project managers, UX designers, QA, developers that have either worked together before or at least share methodology and culture, and so have already gelled somewhat.
2) People in these various roles come in when you need them, and leave when you don't. You might not be able to afford to hire an experienced designer or QA full-time, but you could afford a couple weeks of their time, or two days a week, or whatever. This flexibility can make the end result higher quality and less expensive, even with a higher per-day rate.
3) It's hard (some say impossible, but I wouldn't go that far) for non-technical people to hire technical folk, because it's hard to know what to look for. A consulting firm has already done this for you, has a track record with these people, and is staking their reputation (and hopes of future business with you and your contacts) on them.
The point is that it's a variable cost, and that, depending on the total quantity of talent (i.e., project scope multiplied by various specialty skills required), it can make more sense to rent than to employ that talent.
Most outsourcing is not about hiring cheap, low quality foreign talent. It's about hiring highly skilled teams to fill specific functions for specific projects, which can be much more reasonable than employing all the necessary talent.
If you are renting talent and it is cheaper per hour than what it would cost to hire qualified talent as an FTE, and the product that they are making is a core competency for your company, you may be treading on thin ice. If you don't have the technical skills to judge the work produced (for example, I don't), you may be in the process of falling through the ice.
There are some of us with such specialized talent that finding yet alone employing us is next to impossible.
For example one of my firms big specialties is persons with disabilities development and consultancy for web applications. Put simply, we make JavaScript web apps work for the disabled. So along with our general UX/HCI development services, we have people that specialize in PWD/UX.
To hire one of them would be ridiculously expensive, there are maybe 50-100 people in the world with a formal HCI/PWD education, and you would only need them on a project for 1 or 2 months max, usually less than that.
So unless you are doing a lot of different projects it makes no sense to hire that role. Security is another that you generally don't need a full time loaded person for.
It may be cheaper over all even if it costs more up front. The reason consultants cost $100-$500/hr is because the consultant isn't planned to be there long.