When I first looked at MOSS WCM to assess whether it would meet the needs of my previous employers web content approval processes many moons ago I was pleasantly surprised to find out how much you could achieve out of the box. Recently I needed to revisit this topic for a new client and promptly forgot what I had discovered and charged off looking at custom workflows using SharePoint Designer or Visual Studio. Fortunately before I got too far down that road I reigned myself in and went digging through the workflow settings of a pages library. This is what I found out/reminded myself of:

Using the set up screens you can change the lists used to store the workflow tasks and workflow history

Start options can be changed although the standard settings - 'Start this workflow to approve publishing a major version of an item.' is the most appropriate for approving a page for an Internet or extranet site

It is possible to switch between serial and parallel approval - most useful if a web page has to go to more than one person or department for approval or the page needs to be approved by people in a specific order

There are options to allow the following - 'Reassign the task to another person' and 'Request a change before completing the task' - these can be turned on or off as appropriate

Default approvers can be entered into the workflow

With all these options available it is possible to accomodate the vast majority of scenarios for approving web pages without having to resort to SharePoint Designer or Visual Studio. Even scenarios that involve several people or departments in the process can easily be catered for and using the 'Request change before completing the task' option even allows the page to be sent back for changes before approval is given.

The moral of the story here is a common one when developing with SharePoint - don't try to reinvent the wheel, the SharePoint development team got there first!