Employee retention is bad, which should give you a lot of clues. In fact, sometimes I wonder if management doesn't want to retain employees beyond two years so that they don't have to pay out all of the restricted stock. I mean, there are no cash bonuses anymore that I know of, and the raises -- if you're fortunate enough to get one -- probably won't even keep pace with inflation. As others have said, the non-salary benefits are poor in comparison to other large companies. Your actual workspace is very spartan, and good luck getting a fast laptop or desktop and a monitor that does better than 1280x1024.
There is a vast amount of crufty old code sitting around the backend databases and systems that nobody wants to touch, the original perpetrators of which are long gone, and management often does not have the foresight to rewrite. If you take a job here, keep in mind that you might suddenly find yourself assigned to maintain this pile, even if you have never done Perl or C++ in your life and you were supposedly hired to work on something else. For the most part, developers double as operators, so have fun wearing the pager while you're at it. Getting paged while on call should be the exception, but at Amazon, it's the rule.
There is a lot of homebrew and non-standard technology in use which is usually poorly documented and difficult to use in any case, and if you're familiar with doing things the way that the rest of the industry does, you might find yourself frustrated.