Pretty sure it's recommended you check for the latest receipt when the app opens, but Restore is a way to manually make that happen.
The same thing is true with Non-consumables of course where you can silently check for a previous purchase. And again Restore is like the peace-of-mind button for the consumer to be able to restore at will if your initial check failed for some reason.
restoreCompletedTransactions will not work with a consumable IAP - but that's not your question.
You have 2 choices. You can refresh the receipt and then examine the refreshed receipt or you can restoreCompletedTransactions. The advantage of the restore is that when a device does a restore (or a purchase) it is registered with the App Store and subsequently that device receives a new transaction each time there is an auto-renew transaction (and the device adds a transaction observer).