The Game Programming Gems is an excellent series, filled with lots of useful tips and tricks to making better games. Most of these "gems" are extremely useful, relevant and truly stand the test of time. Inevitably, technology advances and things change, however, so some of the tips may become a bit outdated. Best of Game Programming Gems presents in a single tome the best and most timelessly useful tips from the previous six Game Programming Gems books.
While Best of Game Programming Gems is full of useful information, it's not for everyone. If you're not familiar with programming, this book will be a bit over your head. Some of the over-arching concepts may be accessible to less experienced programmers, but, in general, Best of Game Programming Gems is targeted at intermediate to advanced programmers, preferably familiar with C/C++. Some of the information could be useful to developers working with other languages, even XNA, but since some of the content is on pointers and memory management, not everything applies to XNA. As far as range of topic, however, Best of Programming Gems covers the gambit. You can pretty much rest assured that there will be "gems" relating to the type of task that you're facing, at least generally, if not specifically. Best of Programming Gems has articles on everything from networking to fast trigonometric approximations to null objects and everything in between.
While Best of Game Programming Gems assumes a certain prerequisite amount of subject knowledge and programming experience, it is, in general, a reasonably easy read. Intermediate to advanced programmers who are at least familiar, to some degree, with the subjects at hand should be able to quickly pick up the concepts in this book and put them to use. I found very few errors in Best of Game Programming, which actually says a lot for this book. Although the smallest mistakes in graphs or code samples can invalidate text, programming books will frequently have lots of these sorts of mistakes in them. The only graph I noticed being incorrect was a graph depicting "Absolute Error" (p.140-fig.2.1.6); it shows negative values, where only positive values should be displayed, as it's the absolute value of the relative error.
Additional ResourcesBest of Game Programming Gems includes a CD-ROM with source code for all of the articles, as well as color plate images from articles, all of which is easily accessible with the built-in self launching menu application. Simply choose the section group selection, then click on the section you're looking for and the resources are right there for your perusal.