魚は好きな人。
Fishes like people魚が好きな人。
Person that likes fish
Although I know the definition of both sentences it is very confusing to me, why が works and は doesn't.
魚は好きな人。
Fishes like people魚が好きな人。
Person that likes fish
Although I know the definition of both sentences it is very confusing to me, why が works and は doesn't.
Well, it seems that you have wrongly understood these sentences.
There are two possible interpretations of 魚は好きな人。:
To mean "Fishes like people", it should be 魚は人が好き。
Interpretation 1 doesn't really make sense, so 魚は好きな人。 is supposed to mean "Person that only likes fish".
Now the difference between 魚は好きな人 and 魚が好きな人 is not so big. Here は introduces a contrast between fish and all the others.