Punishing is a simple concept if you played any FPS or RTS games. In both of those games, every weapon has a cooldown after it attacks. For instance let's say you play Halo and someone fires a rocket at you and misses. You have until the next time they can fire the rocket to get a free shot at them. Or in Starcraft, units have cooldown rates between their attacks. In fighting games it's the same thing. Attacks have certain recoveries, and if an opponent's attack recovery is very long you can hit them with an attack of your own before they are able to respond. The same goes with your own attacks, you don't want to throw out slow recovery moves very often since they are risky.