Wouter Van Vugt has a great post on Markup Compatibility today.
This topic is covered in part 5 of the Open XML specification, and most people haven't looked closely at it yet because it's all about how Open XML allows for future revisions to the spec. But as Wouter explains, you'll save yourself some headaches in the future by understanding these concepts now and allowing for them in your code. Some careful design up front means you won't have to rewrite or redesign your code when the spec changes. And specs, like everything else, tend to change over time whether we plan for it or not.