Sites that have been publishing for a while nearly always end up with two or three pages on the same subject: an old blog post, a service page and a landing page from a campaign. Google has to pick one, and it often picks the weakest.
Find the overlap
In Search Console, filter by a query and look at which pages get impressions for it. If more than one does, you have cannibalisation. Decide which page should own the topic, move any useful content into it, and 301 the others to it.
Then keep it that way
Before writing anything new, search your own site for the subject. If a page already exists, improve that page instead of starting a fresh one. A page that has been updated five times over three years outranks five separate pages every time.