Canonical: You can use this if the same page content can be viewed using multiple URLs.
Let's say:
Link 1: example.com/page1/
Link 2: example.com/info-page/
Let's say if above 2 pages would have same content then you an assign canonical to let Google know about preferred URL. Let's say to keep Link 1 as preferred URL then in Link 2 canonical can be assigned.
If you got a portion of content in home page and topics page which are similar then you can display bit less text one one page and detailed content on the dedicated page. Canonical may not work in this scenario.
Duplicate: Unless you got too much content which is similar it may not be treated as duplicate content. So, if you create a balance you should be fine.