The reasons are myriad and situational, but the most basic explanation is that game dev is an iterative process, and content will be changed for various reasons throughout the course of development.
Also wanted to add to @William3DArtist answer. You can create an additional channel that is custom one User0, User1 etc and put it as an extra export map. I used this a lot because needed masks exported from specific textured regions and use it later in shader, because of the amount of iterations, that gave me automaticy…