A good way to find the difference etween synonyms is to look up each word in a dictionary and compare their meanings. Here is how "Толковый словарь современного русского языка" С. И. Ожегова explains each word:

БЫВАЛЫЙ. -ая, -ое.
1. Много видавший и испытавший. Он человек бывалый. Бывалый турист.
2. Привычный, бывавший уже ранее (разговорное). Это дело бывалое.


ОПЫТНЫЙ, -ая, -ое;
....
2. Обладающий опытом (т.е. совокупностью знаний и практически усвоенных навыков, умений). Опытный врач.