Has to do with memory limitations, storage, and usage, engines are optimized to with textures that use powers of 2, I'm sure there's a more techy person out there with a better explanation. I know a 2nd reasoning is mipmapping, which uses smaller versions of the texture for sampling (1x1, 2x2, 4x4, 8x8, up to the texture…