We use both, but “J’ai compris” is more like “I get it” and “Je comprends” more like “I understand”
1) /Je comprends [ce que vous dites là.]/= /I understand what you are saying [now]/ or: /I understand what you say [in general]/. It’s useful to bear in mind that the French simple present can be translated as simple present OR continuous in English, depending on the specific situation.
2) /J’ai compris [ce que vous venez de dire]/.
J’ai compris is used in response to the actual or implied question: Avez-vous compris ce que je viens de dire? or: As-tu compris [ce que je viens de dire] or: T’as compris [ce que je viens de dire].
I’m trying to explain this in terms of the French without too much translation.
Bear in mind, however, that French does not have a present prefect, which in situations like these, might be used for a situation in English that would be: /Have you understood what I am saying to you?/ Present perfect is a past tense also.
So, have you understood [what I just said] becomes a simple past in French: Avez-vous compris [ce que je viens de dire?]. Oui, j’ai compris.
You can use both… Je comprends or J’ai compris.
The former is more like ‘I hear you'(I accept your opinion – because you respect the other persons right to their own opinion and freedom of expression and speech – even though you may or may not agree with it)
while the later is more factual like ‘Ok, got it'(my brain processed it efficiently and your explanation made sense)
Quand je dis j’ai compris, cela signifie que le processus de réflexion par lequel j’assimile les faits qui me sont présentés est terminé, donc passé.
Je comprends … I understand something; usually something tangible
Je comprends les regles … I understand the rules
Je compris (or J’ai compris) … I understand or understood something less tangible
as in after a discussion like “they’ve turned brexit into a disaster” someone might respond “tell me about it” … and in French Je compris … I believe what you’re saying