Before we go any further, let’s define keyword cannibalization. Keyword cannibalization is when you have various website pages (such as articles an blog posts) that all rank for the same search query in Google.
So if you have two or more pages on your site that contain content that is too similar to each other, or because you optimized them for the same keyphrase, Google will have a harder time knowing which page to place in the search results when that particular keyword or phrase is searched for.
If a webpage ranks for a number of keywords, that’s fine, but when you have multiple pages/URLs trying to rank for the same keyword, it has the opposite effect.
Over on Moz’s Daily SEO Fix, they discuss what keyword cannibalization is, how you can investigate it, and how to solve any issues it could have.