I was in karate for years as a kid and got a black belt. I took karate for the same reasons he's putting his kids through it. I was tired of being picked on and I wanted to make myself more intimidating. It did not work. You do not learn how to fight in karate. You learn how to perform choreographed moves and routines (like katas and lots of shorter ones that we called 'techniques') and you kick and punch a lot of pads. Sparring is more like a game than a real fight, where you get points by making contact at the right places. Karate gives you good exercise (which is why it can be great for some people), but I did not get out of it what I wanted. I never learned how to fight simply because we never did any real fighting. I had a black belt, yet when it came down to it and someone was physically threatening me, the silly routines that worked against invisible attackers in karate did not work in real life. If you want your kids to learn how to fight and defend themselves, take them to a place where they actually have the kids fight each other. There are no shortcuts.
The self-esteem boost that I desperately wanted from karate I was finally able to get in high school by becoming really good at percussion. People finally started respecting me for what I could do. Drumline was where I belonged.