Keyword cannibalization means that you have content on your site that can rank for the same Google search query.
This happens for two reason:
When two or more pieces of content are optimized for the same or similar keyword, they negatively impact each other’s chances to ranking.
In other words, your site content is competing against itself to rank in Google Search results.
Thing to audit and review to ensure you are not at risk of keyword cannibalization:
Let’s say you have two pages on your website one called “plumbing repair” and one for “24 hour emergency plumbing repair.”
If you end up sending too many links with the anchor text “plumbing repair” to the “24 hour emergency plumbing repair” page, you’re setting yourself up to telling Google that the 24 hour emergency plumbing repair page wants to rank for “plumbing repair” as well.
To avoid keyword cannibalization, build more links that target variations of the longtail keyword, such as “24 hour emergency plumbing repair” and “emergency plumbing repair available 24 hours,” while avoiding or removing the anchor text targeted at the broad term, plumbing repair.
Have a clear and easy to understand structure for search engines to crawl. Keep it consist and error free to stay in Google's good books.
Topical relevancy is something that Google is looking for, and if multiple sections of your site are topically the same, then you may wish to remove some pages. You can do this be merging content, deleting the old content, and setting a 301 redirect to the new page.
If it makes business sense to have two pages, you can use a canonical HTML tag. By creating a canonical tag from your less-important page to the other, you’re telling Google that while some duplication and similarity exists between the two, the more important page is the one you selected.
Commonly keyword cannibalization can be identified when you notice rank fluctuation between two of your pages. This happens when Google is trying to determine which one it should prioritize.
Google will typically display one or two pages from the same domain in the search engine results for a specific query.