That's a clever way of perpetuating vendor lock-in: write shitty documentation that is still helpful for application developers but also simultaneously makes life VERY hard for interop layer developers (like the WINE project).
Certainly when you take into account all the undocumented API functions used by office et al.