My current book in my Astrophysics self-study is Galaxies in the Universe by Sparke and Gallager, 2nd edition. It's aimed at advanced undergrads, so probably appropriate for a aging physicist who worked on atmospheric problems for 30 years. It's a pretty good book, I think, but occasionally frustrating for the autodidact.
The big problem is a certain carelessness about numbers and a few other details, especially in the problems. An unfortunately not atypical example can be found in problem 1.19, where one is asked to compute some effects of neutron lifetime on Helium abundance. A crucial intermediate step is computing the time at which the radiation is cool enough for deuterium to survive. The problem helpfully adds that the value one gets should be 365 s (after big bang). If one uses the equations found in the book, one gets a bit less than 349 s - not a big difference, but way to large for using equations without any error bars. It's small enough, and large enough, to make me think that perhaps I left out some small but perhaps crucial detail.
The intertubes were little help. It seems that estimates of this time (using slightly different methodologies) vary quite a bit. Finally I thought to look for an online errata. OK, they said, the time should be 350 s, not 365s. Umm, not quite. It was really a bit less than 349. Can't they even get the errata right to 3 significant figures?
Unfortunately, this type of error is rife. What the hell. Don't they have grad students - or at least undergrads who use the book?