IClosable exists to support languages that lack deterministic finalization. So, in general, you don't need to call IClosable::Close from C++/WinRT. But consider these exceptions to that general rule.
There are very rare cases involving shutdown races or semi-deadly embraces, where you do need to call IClosable::Close. If you're using Windows.UI.Composition types, as an example, then you may encounter cases where you want to dispose objects in a set sequence, as an alternative to allowing the destruction of the C++/WinRT wrapper do the work for you.
If you can't guarantee that you have the last remaining reference to an object (because you passed it to other APIs, which could be keeping a reference), then calling IClosable::Close is a good idea.
When in doubt, it's safe to call IClosable::Close manually, rather than waiting for the wrapper to call it on destruction.
So, if you know that you have the last reference, then you can let the wrapper destructor do the work. If you need to close before the last reference vanishes, then you need to call Close. To be exception-safe, you should Close in a resource-acquisition-is-initialization (RAII) type (so that close happens on unwind). C++/WinRT doesn't have a unique_close wrapper, but you can make your own.