Why is the digital out acting as ground on arduino

arduino

I was following LED Light bar project in Arduino Project handbook and I noticed some odd behavior in the Arduino.

I accidentally didn't ground the back half of the breadboard (because I didn't realise there was a break see in the circuit below). I figured that out but noticed it seemed to make the digital pin 2 behave as ground and not light the LED when the ground wasn't connected to the back of the bread board. I tried Googling this but can't find any explanation. can anyone explain why this happens?

UPDATE
To make it a bit clearer I thought it was acting as ground because before I connect the ground between the right and left of the board (the connection I originally forgot to add, see the image) I would of expected only the front 4 LED's to light but what appears to happen is all BUT the LED connected to pin 2 lights up. When I bridge the gap in the ground rail all LEDs including the one connected to Pin 2 Lights hence why it appeared to me to be acting as ground, as the LED clearly works.

enter image description here

Update 2
Here is a video of the result:
http://youtu.be/5dg0PHDOorA

Best Answer

When an IO pin is configured as an OUTPUT, and is set LOW, it is effectively connected to ground through a MOSFET.

You get a reasonably low resistance between the IO pin and ground.

As long as you don't exceed around 25mA through that pin, then all is well, and that technique is often used for multiplexing of LEDs etc.