Code kata is a programming exercise. It's meaning is to teach your fingers and brains, not so much to solve a problem. While doing kata, you are practicing the movements and decisions involved in solving the problem. When same kata is done several times, those decisions become so familiar that you don't have to think about them so much when writing production code.
Practicing kata is a good way to learn hot keys and navigation idioms; TDD, CI and other disciplines; common problem/solution pairs.