It honestly depends on what you want doing, I tend to go with a brand-new system which I work with myself but thats mainly because I can familiarise myself quickly with the CMS and know how it works and don't have to take the time to learn a system such as Joomla or Drupal.
For an online magazine you could either code a CMS yourself, have one coded for you, use an Open-Source Content Management System or pay for a professional one.
For something which is out of my depth, I will try to understand, but if I don't have the time to learn how to effectively do the job which I want then I will seek the services of someone who can.
For books it really depends on the language which you want to code in, I haven't done much web based systems i'm more of a desktop applications programmer but PHP or ASP would perhaps spring to mind and Kevin Yank's
Build your own Database Driven Website Using PHP & MySQL comes to mind as a good read.