Alfresco WCM is an application for managing web content. The assets being managed by Alfresco are not tied to any specific framework or technology.
Content is managed in sandboxes that isolate each user's changes. There are facilities for submitting content to a shared (staging) sandbox and then deploying that content either to a flat filesystem or another instance of Alfresco.
Content can be collected and displayed via forms. Workflow can be used to control the approval and publishing of content.
As a developer, there are two main areas for WCM that you will need to become involved. The first is to design and implement the content model (Web Forms) that your web site or application will consume, and the second is to implement any customisations that are specific for your implementation. These may include custom workflows, scheduled jobs, or integrations with external sources of content.
Alfresco Web Content Management is closely tied with the underlying facilities provided by AVM. AVM is best thought of as a version control system, in fact, it shares many concepts with Subversion (SVN). But AVM is better thought of as a lower level core component of Alfresco. It is possible to use AVM directly for WCM, but that is typically harder and more obscure than using the higher level APIs provided for the WCM application.
WCM Forms are used to capture content from the user and store it as XML in Alfresco at a certain path. For capturing content, an XML Schema needs to be created by the developer. It is then rendered automatically using a user-friendly Web Form (using XForms technology embedded in Alfresco).
Detail on supported XML schema data types, XForms controls, and UI widgets. Also, detail on annotation for customizing appearance, labels, and alerts.
Once web content is in a sandbox it may need to be pushed out of Alfresco onto a test or production server. AVM efficiently maintains change sets between versions so only the minimum changes are deployed. Author sandboxes are pushed out to test servers. Staging sandboxes are pushed out to live servers.
Detail on the in-context preview options available in Alfresco WCM.
The Virtualization server is a separate instance of Tomcat that provides virtual views of the contents of sandboxes without needing to deploy content. The Virtualization server's job is to allow data within certain sandboxes within the AVM repository to be interpreted as a set of virtual websites, and to allow these websites to be browsed by end users (and QA tools) prior to deployment (or submission to a 'common staging area'). These websites may include virtualized servlets and JSPs, but completely static websites can be virtualized too (.html, .gif, .png, etc).
The Virtualization server is specific to Java application server web sites. The alternative for non-Java web sites is to deploy to a Test server.