Google's John Mueller wrote on Twitter "remember that the content on 'non-canonical' versions generally doesn't get used." Meaning, if you point page A to page B using a 301 or canonical tag, generally the content on page A won't be used by Google for ranking. So if page A has content about blue widgets and page B has about pink widgets, Google won't take the blue widget content and pass it to page B.
A better example is the question asked in the Twitter thread. The case of using the canonical tag for product variations like color, when the rest of the content is identical, to prevent duplicate content. It won't pass the content from the non-canonical pages, so if you want to rank for that content, make it canonical.
Sure, you can do that. Just remember that the content on 'non-canonical' versions generally doesn't get used.
— John ☆.o(≧▽≦)o.☆ (@JohnMu) January 29, 2018
Forum discussion at Twitter.