Great question, you made me think about my native language.
As a general remark, "ben geweest" and "ging" is a comparison between two different verbs:
"ben geweest" is the perfectum (voltooid tegenwoordige tijd) of the verb "zijn"
"ging" is the imperfectum (onvoltooid verleden tijd) of the verb "gaan"
Hence, it is more difficult to explain the differences between the two tenses. Therefore, I have used comparison between "ben geweest/was" and "ben gegaan/gingen".
Differences between perfectum (ben geweest/ben gegaan) and imperfectum (ging/was) are:
1) Perfectum (ben geweest/ben gegaan) indicates something that is an incident, whereas the imperfectum (ging/was) denotes something of non-specific duration such as a habit;
2) Perfectum (ben geweest/ben gegaan) can denote something that occurred in the past without clearly specifying the time that it occurred, when using imperfectum (ging/was) you would normally denote when the occurrence was;
3) Perfectum (ben geweest/ben gegaan) may denote that the result of the action is ongoing, or that the situation is of relevance to the moment of speaking. We would not use imperfectum (ging/was) as such;
4) Perfectum (ben geweest/ben gegaan) denotes facts and the imperfectum (ging/was) denotes description.
'Ik ben naar Tokyo geweest' (e.g. somewhere in your life, it was an incident) -and-
'Verleden maand was ik nog in Tokyo' (meaning, I was still capable of this action, capable of continuing my habit)
'Ik ben ook nog naar Tokyo gegaan' (e.g. somewhere in your life, during your trip etc..It likely was an incident) -and-
'Verleden maand ging ik nog naar Tokyo' (meaning, I was still capable of going)