* -아/어 봤다 = have had the experience of doing something. Used for interesting or unusual experience.
* -ㄴ 적이 있다/없다 = have (ever /never) done something. Strictly factual.
-아/어 봤다 usually indicates a personal experience stressing the unique, one time nature of it.
-ㄴ 적이 있다 focuses on the occurrence of an action or event. You can use it for anything people might experience.
(There is also -는 적이 있다 and -ㄹ 적이 있다 for present tense and tenseless cases.)
For example,
1. A: 너 스위스 가 봤어? B: 응: 작년에 갔었어/가 봤어. Have you ever been to Switzerland? Yes, I went there last year.
2. A: 너 금년 들어서 아팠던 적 있어? B: 아니, 없어. Have your even fallen ill this year? No, never.
3. (police interrogation) 8월 1일 이후로 피해자을 만난 적이 있습니까?
= Have you ever met with the victim since August 1st?