ItemMetadata.xml is the file used to store/transfer the data from one Infopath to another. The name of the file is case - sensitive.
For example, in a sharepoint workflow, there are 10 steps, in each step we are using infopath and we want send some information from one to the next infopath form, the information won't save any where. we need to tell explicitly to infopath to store in xml file. that is nothing but ItemMetadata.xml.
It acts as the secondary data source to the infopath.
To compensate for the possibility of schema differences between the task data and the form it only stores the schema instead of data.
Example schema is
<z:row xmlns:z="#RowsetSchema" ows_fieldname=""/>
Note: Every field name should be prefixed with ows
In programming, we can retrieve the data from info path using the property called ExtendedProperties.