I just had a long issue come up in developing a features export. Long story short:
* It is not clear what the difference in intent between hook_features_rebuild() and hook_features_revert() actually is.
* In all the Features sample code, the hook_features_revert() is just a wrapper function, which indicates there is no difference, except that one acts on database entries. But revert isn't supports to apply to "faux-exportables", so why does it?
* The current documentation gives little, if any, useful explanation of this behavior.
* hook_features_revert() is not, apparently, intended to do what I assume it should, which is wipe and rebuild a target data set based on the feature export.
There may be a spin-off issue here to introduce a new hook and function that will, in fact, perform a wipe-and-rebuild of the target. In particular, this would apply to faux-exportables.
Use-case: Wipe/rebuild a content type to remove extra fields added during testing.