I will try to answer this question the way that I think beginning learners could follow.
1) 「ボブは魚{さかな}が好{す}きだ。」
2) 「ボブは魚は好きだ。」
Both sentences are 100% correct but there is a nuance difference between them and therefore, they cannot be used interchangeably.
1)「ボブは魚が好きだ」 is the most basic way of saying "Bob likes (eating) fish." It is straightforward in meaning and it does not have any implicit nuance of any sort. That he likes fish is all the information the sentence conveys.
2)「ボブは魚は好きだ。」 is different in that it is nuanced and it chooses the context to appear in. The sentence implies that there are things that Bob does not like eating. That is why this 「は」 in bold is called the "contrastive は".
In real life, the sentence 「ボブは魚は好きだ。」 would rarely, if ever, appear all by itslef. Since it uses the contrastive は, it will mostly appear in contexts where contrast is being made. For instance, we say:
「ボブは魚は好きだが、肉{にく}は好きじゃない。」
The nature of the contrastive は often makes itself appear multiple times in a sentence as above -- "likes fish but doesn't like meat". It takes two to tango-ntrast, as we say in Nagoya.
You could of course split the sentence above into two separate sentences and say:
「ボブは魚は好きです。でも、肉は好きではありません。」
(There is also a way to turn the topic-marker 「は」 in 「ボブは」 into the contrastive 「は」, but that would be too much for one thread.)