As far as I can tell the two have different etymologies and have both possible pronunciations, CLUH-J and CLOO-J but seem to be used interchangeably. I had not idea CLOO-J even existed until my school business librarian used it.
I've also seen and heard both. In my experience, kludge is more common these days; kluge seems to be used by older programmers/engineers, or those who believe that it's more correct because it's apparently older. To me, the kludge spelling and "fudgy" pronunciation seem more American. That is, I can see it looking and sounding more comfortable to average Americans, while the other may seem a bit stilted (trying too hard to maintain foreign origins).
I know you have to be careful when relying on Wikipedia, but I think its article on this subject is pretty good.