How can I connect a USB Joystick to the arduino to control a Canon DSLR?
A quick glance at the Arduino UNO page shows that this board is not setup to be a USB host which is necessary to control your camera and receive input from the joystick. You'll need to choose a development board that can be used as a USB host. Even then, you'll need a hub for two devices.

I know nothing of Arduino, but a quick search yielded this.

Regarding the Wii controller, it uses a much simpler serial interface (I2C) which allows direct connection to his Arduino. This is not possible with USB (without additional hardware). However, one thing you could do is open up a generic USB controller and make your own connections to the various buttons/pots within, then route them out of the controller to your application.