Topic targeting is a broad way of targeting people who've expressed interest in that topic or "related topic". It's a good option if you want to create awareness, do branding or generate likes. But when your end goal is sales/leads - it's good to go for precise interests as that's like exact match - and it ensures that you're reaching only those people which you're actually targeting - not related ones.
Precise interests are more specific and tend to perform better. The broad categories tend to be too general. They get low CTRs leading to poor performance in direct response campaigns. You're better off bundling related, precise interests together within an ad/campaign.