You should never use \Magento\Framework\App\ObjectManager::getInstance()
.
It defeats the purpose of dependency injection. We're back at Mage::getModel()
.
Object manager should be used only in factories and then as injected in a controllerconstructor.
The advantage of using this is less code to write. But this does not make it OK.
The fact that this is still used in the core, is because it didn't get refactored yet. I hope it will be.