A USB device has to specify how much power it takes. It can ask for up to 500mA, which is the maximum a USB port can provide. If you use an unpowered hub, that 500mA has to be shared amongst everything you plug in, including the hub itself. If a device asks for more power than is available, the OS will tell it "no can do - don't power up" and refuse to fully enumerate/connect it.
This is all well and good, except that many devices just ask for 500mA, even if they only need a tiny fraction of it. It'll work fine...until you use an unpowered hub. So while it's doubtful that the joystick actually requires a powered hub because it actually needs the power, it may be asking for it, and the computer says "not available, sorry 'bout ya."
Unfortunately, there's not a ton you can do about this other than asking the vendor to fix their device. It's generally a simple change (just change one number). If someone cared enough, they could probably even patch the firmware binary, assuming one can rip a copy off of the thing, but this is far from a simple task.