From what I've been told, Office docs are made up of objects accessible via an API. So theoretically one could build a version control tool that works effectively for Office docs.
There are .NET interop assemblies[1], for working with Office documents, and they require Office to be installed to work. Outside of that, you're stuck rolling your own Office-document-parser.
There is a built-in "track changes" mechanism, though I don't know if all Office types handle it. Word does, at least. Though that's pretty basic.