One of the common activities in maintaining SharePoint applications is versioning or updating a content type. It’s like upgrading a table schema in a database. This is a topic the patterns & practices team is currently tackling in their SharePoint guidance. As we’ve found out there are many ways to skin a cat. The approach we took involved writing a Feature Receiver to update the content types through the SharePoint OM. The nice thing about this approach is that the Update method on the SPContentType class is overloaded so that you can update any children of that content type. This includes any lists that may be enabled for the content type you’re updating.