Pros
Most of the projects are challenging and the clients are top US companies. Depending on your team and project you will have the opportunity to work with very intelligent people and learn new and relevant technologies. If you have a good project manager you will be very happy with your personal growth as an engineer or software developer.
Cons
The salaries are extremely low compared to the market. There are no performance bonuses for anyone except senior executives of the company and no 401k matching or similar incentives. You will be expected to work overtime without any extra compensation or recognition. Most of the people working with you will be on foreign worker visas and the culture seems to have just accepted that it is the norm to work grueling hours without any compensation or career progress. You should just hope that you get a good manager and a good project and never have to deal with relocating.