Prevent Firmware theft
If you know that your MCU will always have power, you could in theory keep your firmware in RAM and apply external measures which will cut power to the RAM/erase it so the firmware is lost if the user does something like remove a cover. This is done for some banking applications (though they usually just erase crypto keys). It's not 100% guaranteed, but it'll probably get you close enough there that it's in-feasible for nearly every attacker.

You can find more ideas from this teardown video of a credit card machine.

In reality, I don't see the need for this level of hardware protection for firmware. It won't be cheap to do and an opportunistic competitor could just as easily reverse-engineer the functionality and sell a cheaper product than you.