For me the distinction is pretty straight forward:
hören: to hear, to perceive sound with your ears (even unintentionally)
anhören: "to hear something intentionally", to listen
zuhören: "to actively direct your attention to something and try to understad/follow it" (lecture/complex music/.....)
There are cases when you can use both, but "zuhören" is more appropriate when you want to express, that the listener actually tries to follow/understand, is genuinely interested in what is said.
"anhören" on the other hand can sound a little like "to listen, but not really care" when used in circumstances where "interest" is kind of expected:
Er hörte sich den Sermon seines Lehrers an (He listened to the teachers sermon)
This sentence subtly implies that "he" is not really interested, is irritated because he has to listen, something like that.