For starters, don't worry about the GPU clocks or the shaders and all that. they are just numbers are not much else. One GPU may have high numbers, but another is much more efficient and does more with lower numbers. If you want to compare cards, use the list in the first post of this thread
As for memory on the card, the higher the better, up to a gig. Once you cross that threshold it seems to be a minus rather than a plus.
128 vs 256 bit is the amount of data the card can (theoretically) push through at one time. If the motherboard is not up to snuff, the transfer rate will be limited by the mobo. The higher the number on this the better, but current cards don't completely saturate the channel, so it is not a big deal. if you go under 128 it can slow you down.
GDDR is just the type of RAM cards use. GDDR 5 > GDDR3 > GDDR2... etc. As for your card question, you are comparing... what? Two different 4670s with different amounts of RAM? The gig will be better for you than the 512. If it is different GPUs, check the list in the ranking thread.