Keyword cannibalization happens when certain pages within your site compete against each other for certain keywords. From the word cannibal, your pages are eating the popularity of other pages to gain rankings.
Keyword cannibalism is a situation where your site has multiple pages that contains the same keyword, which creates confusion for both search engines and visitors.
Also cannibalism can be in term of ppc and organic. When in serp shows up your snippet and paid ads simultaneously.