Both words mean "beautiful woman", but I guess the reason two words exist is because of some nuance. Am I right ?
I see no semantic difference, but 佳人 is an uncommon outdated word. On BCCWJ, there are over 2000 instances of 美人 and only 28 instances of 佳人, most of which are part of certain old book titles (incl. 佳人之奇遇) or idioms (incl. 佳人薄命). If you said 佳人 in casual speech, the listener probably wouldn't even understand it. On the other hand, on 青空文庫検索, there are many instances of 佳人 from novelists of the 19th century. So unless you want to write something stiff mimicking the writing style of old novelists, you should not use 佳人. (BTW there is also 麗人, which is equally rare)
From super daijirin:
び-じん  【美人】
(Woman of beautiful appearance. In old times, was used for boys too.)
か-じん  【佳人】
(A beautiful woman)
Also note the small differences between the kanji meanings (from jisho.org):
美: beauty, beautiful
佳: excellent, beautiful, good, pleasing, skilled
Also note the different contexts that show up when you look for example sentences:
By comparing the example sentences, 佳人 seems more poetic and much less common.
According to the dictionary, it seems that 佳人 can only refer to a woman, while 美人 may also refer to a man.