TLC5940 vs 595shift register.

I am working on a 444 RGB led cube.

I am confused on why to use a TLC5940 led driver inspite of using a 595 shift-register and Arduino pwm/bit banging pins for multiplexing and colour combinations.

Hmm, I wonder what the code would look like driving "PWM" out shift register ports. Maybe not as bad as I think.
You could run the 'HC595 (first datasheet I pulled up) at 6V and get 7.8mA output low. If you can get your LEDs bright enough at that drive, OK, otherwise transistors on each output. Lots of more parts with the '595.

There really is no comparison!

The TLC5940, apart from having 16 outputs instead of 8, does two things the 74HC595 cannot.

Firstly, it can drive serious amounts of current - up to 120 mA per LED instead of 5 mA. And you do not require resistors on each LED.

Secondly, it can do PWM on each pin. The 74HC595 cannot.

But you cannot use it for multiplexing (unless you wish to forego the PWM). Of course, the 74HC595 is no better in this regard anyway. If you wanted to multiplex, you would use a MAX7219.

Well you can use the TLC5940 for multiplexing but you have to write or use a multiplexing library not the standard one.
This project multiplexes the chip in a 4:1 ratio and controls 64 LEDs. The code is available from the page.
http://www.thebox.myzen.co.uk/Hardware/Hexome.html