Yes, if you have lots of products that can go out of stock at any time, or that change price (e.g. sales/repricing), it is vital. Otherwise, if Google detects a mismatch, e.g. a product in your feed that goes out of stock during the day, or you put a sale on, the products can be disapproved by Google and it can take a while to get them back online when needed, and if it happens too frequently, your account can be suspended (we only just managed to avoid this).
This Google page explains it: https://support.google.com/merchants/answer/3246284
We have thousands of products, many with low stock, and due to disqualifications, we learned to ensure the structured data markup worked properly, as as we are moving to NOP, we are going to need it.
It might be feasible to do without it if your products don't go out of stock or change prices frequently (and you can force a refresh of the feed after every change), but that is not practical with a lot of products.