The difference is ver subtle. I am not sure I can explain it.
Chápat contains the aspect getting the understanding. It has the perfective complement - pochopit - to get something. Pochopil jsem to - I got it. Chápu to - I get it (imperfective). (There are some fine points I omit.) It means you understand the sense of something. Usually that means there is some thinking to be done after which you get it and you understand something.
Rozumět is to understand something, to possess the understanding. But it also has a perfective complement - porozumět and that means more or less the same as pochopit. It can be used for languages, unlike chápat. Rozumím tomuto jazyku. I understand this language.
Often you can use both.