I am now a great fan of Concrete5, a cool CMS (content management system) that is easy for the client to use and easy and powerful for the technical team.
Concrete5 has many great features. On of the best is probably the "in-place" editing. It is also very easy to program.
Every page has a version history including a visual "diff" feature, so mistakes can be corrected easily. Changes can be kept private until they are ready to "go live".