Team Foundation Server?
What you're asking is can you version control an entire SharePoint site collection?
The only way I know you could do that with some ease, is probably with Team Foundation Server http://msdn.microsoft.com/en-us/library/cc948982.aspx
They claim that you can version control custom SharePoint products, and I'm assuming they mean the database portion of that as well. I would think that would be the most future proof route.
Our Current Version Control with SharePoint
Currently what we do at my work, is we have a Subversion server, in which we use a Visual Studio plugin called AnkSVn, when we're developing custom webparts, and solutions that may contain many workflows, and webparts.
We don't currently do any versioning on the content database of SharePoint, although I'd love to try TFS, and see if that would work. We use the stsadm tool as developers to backup the development server before we're doing big changes, and we have periodic backups of the SharePoint databases by our DBAs.
Restoring the content database will put back all the previous content, workflows, sites, templates, features, of a SharePoint site collection, from my experience.