there is no "better" in martial arts. Also "Karate" and "Kung Fu" aren't things. Rather they are terms to describe Okinawan and Japanese martial arts or Chinese Martial arts. In other words there are many forms of Karate and they can be quite different. Likewise for Kung Fu.
As for Krav Maga, if you learn it in the Israeli military it's an amazing art. But there are TONS of places that teach "Krav Maga" that are nothing more than scam schools out to take your money. Now there are some that are good but they're becoming less and less common.
My suggestion is to find a good teacher and go from there no matter what you want to study..
Karate is a sport, Kung Fu isn't as useful as Krav Maga, Krav Maga is designed to kill your opponent as quickly as possible, Krav Maga is the best choice
Better for what purpose?
better for self defense? wing chun kungfu/JKD (if the teacher is good)...krap maga is good if ur facing UNTRAINED dudes and itll help u escape safely which is the important thing...karate is best for sport btw
If the best school available to you is teaching one of them then it's the best you're going to get. If the best school available to you isn't teaching one of them find out what they are teaching and learn that instead.
kung fu
definitely