I think the difference is as same as the one in the English language.
東京に行ったことがあります(I've been to Tokyo) means that "I have an experience of being in Tokyo before".
東京に行きました(I went to Tokyo) is talked about only the action that "I" had in the past.
I think there is more "emotion/ sentiment" in the first sentence than the second one. It's only my opinion.
I hope other Japanese answer to you.