The strongest aspects of Atiyah & MacDonald's book are its brevity, accessibility to undergraduates, and subtle introduction of more advanced material.
Audience: I think an undergraduate with a solid understanding of material from a first course in abstract algebra (i.e., the chapter on rings--the modules chapter would help, but isn't necessary--from M. Artin's book 'Algebra' is more than sufficient) and some basic point-set topology from an intro real analysis course (or ch1-4 of Munkres) would be sufficient for fully appreciating the material. I think having experience in PS Topology is important for understanding parts of this book well; doing the exercises is possible if you learn it "on the fly," but I hadn't seen Urysohn's Lemma before, and even that caused me some "intuition" hangups; to fully appreciate the material, I would recommend doing a healthy number of problems in topology first.
Material: The material uses concepts from homological algebra, though in a disguised form; students with experience in category theory will find offhanded comments that recast some of the material in that language, but CT is absolutely not essential to understand the material well. It also provides exercises that lead naturally into topics from Algebraic Geometry and Algebraic Number Theory quite readily; a nice set of problems in CH1 walk a student through construction of the Zariski topology, prime spectrum, etc., and some functional properties of morphisms between spectra. Algebraic Number Theory starts showing up after chapter 4 in greater detail, and would lead comfortably into Lang's GTM on ALNT by CH9 (though I only read a bit of Lang, the first chapter felt natural).
The "details left to the reader" are usually reasonably tackled with the tools made available so far, and the book is short enough that one can cover a lot of ideas in a reasonable amount of time; the commentary made by the authors is brief, to the point, and never redundant as far as I can recall, so I consider this a highly efficient book (but not too efficient, it's self contained enough and not uncompromisingly terse).
Exercises: They are quite good, I think. Very few of them follow from "symbol-pushing" or "robotic theorem proving," and usually require some constructive argument. The exercises are mostly chosen to introduce more advanced material, and do a good job in that regard. The longer chapters have 25-30 exercises, and shorter chapters (a few pages) have maybe 10, so there are plenty of problems to do.
Hazards: The material on modules is brisk, the propositions in the first three sections on modules are mostly left without proof; however, the proofs follow from their analogues for rings, and aren't that hard, just be sure to actually do them because they are mentioned only briefly. Also, the book is not typo-free, but this only caused me one major hangup during the semester. After Chapter 3, the proofs are mostly complete, with a spattering of "left to the reader" exercises, which I usually found helpful.
Companion Material: I think Lang's 'Algebra' GTM would make a nice reference for the material on Homological Algebra and other miscellaneous things that come up in the proofs; I remember once a proof in the book required the notion of the adjoint of a matrix over a ring, and so I had to look it up in Lang, and also the basic category theory covered in CH1 of Lang would at least introduce (though in a very rapid way) the "abstract nonsense" mentioned offhandedly here and there. If you have a lot of money, or access to a good library, 'Categories for the Working Mathematician' is a slower and more thorough introduction to that language, and I would recommend at least having a look, though this isn't really central to the material from Commutative Algebra.