India is definitely one of the cheaper countries to outsource to. The main drawbacks are communication and the timezone difference. By midday (our time), they have finished for the day, so you really do have to be on the ball in this respect. It's no good sending them a list of feedback at 10am your time, as by the time they have 'evaluated' it, they are going home for the day. Another issue is that the salespeople will say 'yes' to everything, often with the end result being that the developers are either unable to complete the task, or at best unable to complete the project within the timescale.
Rule 1. Take up several references
Rule 2. Expect to lose some money and time. There are good companies out there, but there are many more that are really difficult to work with. It takes time to get a good few companies you can rely on.
If you want even cheaper, consider Egypt. The same issues as above apply, and there is less choice, but the prices can be rock bottom.
I personally prefer Eastern European countries, particularly Romania and Ukraine. Expect to pay twice as much as you would for an Indian company, but work is generally done to an excellent standard, and on time. The timezone is GMT+2 which is pretty good too.
A final option is to outsource to a UK based project manager. This gives you a single, English speaking contact who will project manage the entire job, and will pick up the slack if something goes wrong.
Ultimately, it's all about risk. The bigger the risk you are prepared to take, the bigger the potential profit.