Pros
Good client projects, get lots of exposure to some innovative projects. If you have experience and know what you are doing, you will get your hands on great opportunities You may or may not get good worklife balance, depends on your team / manager.
Cons
A large part of their business involves hiring people from India to work on projects with clients in USA. Very often the people you get stuck working with have poor communication skills, may or may not have appropriate training or experience in the tech stack for your project, which means you may have to stretch yourself to make up for other’s shortcomings. Very unlikely that you will find a mentor or learn anything from your colleagues because of the above issues. Things can be very chaotic without much structure from project management. They only hire Indians, VERY rare for you to work with someone who isn’t Indian. Like 1% chance. There’s no real best practices that are followed in software development, like I mentioned earlier, if you have experience and know what you’re doing you’ll have a good opportunity, but if you are a fresher or less experienced. You will learn all the wrong things from these people in terms of software development practices. Very unlikely you’ll get a raise or bonus after you join. If you get stuck on a project with a bunch of developers who don’t have experience I can assure you will not have good worklife balance. It’s a hit or miss.