Raspberry Pi B+ with relay: Lights change but relays don't click
You're using a board that was designed for Arduino, which has 5V GPIO signals, on a RaspberryPi, which has 3.3V GPIO signals.

Looking at the relay board, I see driver transistors for the relays, but they do not have base resistors, which means that they're probably MOSFETs. There's a good chance that these MOSFETs have a threshold voltage that works fine for 5V signals, but does not provide adequate drive to the relays when given 3.3V signals.

Try connecting the control inputs of the relay board one at a time directly to the 5V supply pin and see if they all operate solidly that way. If so, then you'll need to find a way to translate from the lower voltage to the higher voltage.

BTW, I would normally expect to see resistors even with MOSFET drivers &mdash; pulldown resistors on the gates that keep them from "floating" and providing some resilience against ESD. Treat those inputs as being very static-sensitive!