ResourcesProtection breaks/obfuscates links/associations between classes and their resources, so names of resources couldn't be associated with certain class.
Anonymization of ResourcesProtection helps to not detect the place of resource loading method in code (and a name of resource of course).
With AntiTamper, the name of resource hardly linked to identification of assembly (assembly name, full assembly name, especially when assembly is fully signed), when assembly is modified/alternated (when hacker removes or changes some license or protection code, he needs to re-sign assembly, it leads to changes in assembly identification), this assembly stops working correctly (that's what AntiTamper do).