
Male-male
The most common jumper wire, the male-male jumper wire makes an electrical connection between two sockets. This makes them a handy tool for connecting an Arduino to a breadboard, and making connections within the breadboard itself.
Female-female
The female-female jumper wire makes an electrical connection between two protruding wires. An appropriate use would be to connect a chip outfitted with male pins to a set of male header pins on a breadboard. This allows you to quickly move all wires in and out of the breadboard instead of one at a time, and maintain relative locations of the wires even if they are removed from the breadboard.
Female-male
Also called an extension jumper, the female-male jumper wire makes an electrical connection between a protruding wire and a socket. These are generally used for adding length to a connection, helping a wire or pin fit into a socket where it simply isn't long enough. Some key examples of regular use include connecting an Ultrasonic Ranger or Accelerometer to an Arduino or breadboard, as a USR or Accelerometer generally has to be placed in a specific location on a device to fulfill its intended function, and a female-male jumper can draw the connection to the Arduino/breadboard even across longer distances.