Question
Answer
When I am setting up a new WordPress WooCommerce site for myself or clients, and I need to test to make sure the payment functionality is working, I often complete transactions on products to that end.
However, once you complete a transaction on a product, WooCommerce is reluctant to allow you to delete that product because it has orders attached to it.
If you delete the product, then it will also delete the transaction history, which may cause your customers an issue when they go to look for past purchases.
If the products are attached to real purchases from real customers, you may want to consider hiding the product instead of deleting it.
However, if the scenario I mention above is the case, and you know you're not going to need the product and/or the transaction once your (or your client's) site goes live, then remove all orders from the product(s) and then you will be able to delete the product(s) from Trash.