If you have fair amount of knowledge, can you please elaborate on this? What makes these large American companies to pay in millions when they can hire freelancers in few dollars? Any lobby involved?
Let's say I'm a major American bank and I want a complete payroll system done, for internal use. This is going to cost me a couple million on the low side.
Why don't I do it with a $50 a week freelancer?
1) I don't trust him, at all. If he could implement payroll systems, why isn't he charging millions of dollars? He's probably copy/pasting "Yes no problem sir I will implement your system to the specified requirements" to 30 jobs a day and looking for a sucker.
2) Who is going to manage him? Me? If I have to manage him, he doesn't cost $50 a week, he costs ~$8,050 a week, because I'm the VP of a major bank unit. Talking to poor people is always a bad use of my time, because it competes with talking to rich people. (This is somewhat exaggerated but not false.)
3) Payroll systems are not a one-man job. After you get to team sizes of 20+, it really helps to have a system for recruiting/managing/etc them, so that you don't have to. I mean, at 20+, someone is statistically going to be getting married or quitting or dying every year. Do I want to deal with that? No. Let their boss deal with it.
4) If I pay an Indian freelancer $50 a week to make my payroll system, and the payroll system fails to ship on-time, I will lose my job because I did something which was freaking insane. There are things which, in American business, are insane, and there are things which are Known To Be Not Insane. Paying large, established technology consultancies millions of dollars is Known To Be Not Insane. Even if the project fails, it is not your fault, it is their fault. If the $50 a week Indian turns out to not be God's gift to programming, hiring him was definitely your fault.
It gets more complicated, but this hits some of the high notes.
When the Fortune 500 outsources to one of the bigger outsourcing firms like those you mentioned, they're outsourcing the whole process of developing software from requirements gathering to testing and the final output is not just working software, but a full trail of documentation for accountability.