CUDA is essentially a computer language for NVIDIA GPUs. I've been using CUDA extensively for the past couple of years.
A CPU can do one calculation per core per clock. A Quad Core can do 4 calculations per clock.
If the calculation is simple (trigonometric or less), then you can do 512 in one clock on a GPU (a GTX580).
A lot of graphics calculations are simple trigonometric calculations, so doing them on a GPU makes sense.
But GPUs are not as smart as CPUs, so you have to program for the hardware.
It's like the programming language C, but with specific NVIDIA GPU functions.
There is a similar language for AMD cards, and one that caters for NVIDIA and AMD GPUs, but they are both a lot more complex to learn. CUDA is often the easier language to learn because it has better support right now.
If you get a card that can do CUDA (basically 2xx NVIDIA or above), then there may be certain applications that you use which may be accelerated by it (encoding, video editing, folding).
If all you do is game, CUDA doesn't really come in to it, as the graphics uses OpenGL and DirectX, which are both graphic card independent.
You may have heard of PhysX, which adds extra physics effects to *certain* (note, very specific titles)
games. Having a card that can do CUDA can help this, but it is not specifically required.Edited by borandi - 3/15/12 at 3:12pm