Pros
For people working software as developers, software managers, and program/project managers, this is a great company to work for. You are constantly getting to tackle unique and challenging problems to continue growing and improving the customer experience. Ability to grow within the the company is very high, and if you're aiming for a high level role within Amazon in the long term it is better to work your way up from within. Compensation and benefits are good in general for a tech company, but on a lower than other large tech companies like Google or Facebook. (pro and con).
Cons
Work/Life balance is heavily dependent on your team and manager. I have had no issues with it, but other teams have more pressure to deliver and skew work/life balance. Tenure at amazon is often limited. Having a job at Amazon looks great on a resume (which is pro) but as a result, many people will leave to join other companies who actively recruit Amazon employees. This can mean high turnover within teams, and that amazon benefits don't really kick in until year 2 or later.