xorpads are used because tool creators are too lazy to decrypt files in-place from the 3DS itself, so they create a giant file which can be xor'd over another file to decrypt it. The data is generated using the 3DS AES hardware which contains keys which are currently unknown and are loaded into the AES hardware during boot in the bootloader. They can only be written and not read, hence a 3DS is needed to use them to generate data to decrypt 3DS-related files.