Content cannibalisation occurs when a website has several pages targeting the same topic and user intent. The search engine has to decide which one to show, keeps switching its choice, and none of them reaches the strength that a single good page would have. It typically arises gradually: an original article, later a newer one on the same topic, plus a service page and three more blog posts. You detect it by checking, for tracked queries, whether several of your URLs alternate in the results, or by going through the list of pages with the same headings. There are two solutions. If the pages say the same thing, merge them into one and redirect the rest. If they differ in intent, rewrite the headings and content so the difference is obvious, and link them together with explanatory text.
See also: Topical authority, Content gap in retrieval, Website migration without losing rankings.