Different Ip addresses on cloudflare and non-cloudflare sites

Have a different Ip address on Cloudflare and non-Cloudflare sites (only for some of the users with specific internet providers).
On the 2ip site (without Cloudflare) I got a address on
and on https://whatismyipaddress.com (with Cloudflare)
When I tried to get the user Ip address from CF-Connecting-IP X-Forwarded-For headers, got a result (as expected). Why that works like that?

If I got it understand correctly, that is correct way when using Cloudflare service.

Each domain/website which uses Cloudflare services (it’s nameservers are being pointed to Cloudflare one’s) would have the Cloudflare IP as Cloudflare will assign IPv4 and IPv6 to your nameservers which you get in the process of adding your domain/website to your Cloudflare account.

Domain/website which does not use Cloudflare would have it’s own IP address to which it resolves (usually the hosting provider, server).

Regarding how to get the true IP address from the visitor while using Cloudflare, here are the steps:

Already read this article. Why some of the users have a different true IP address and address from CF-Connecting-IP. For example - my true address, also got this one inside the header, for me that’s a behavior that should be.
But as I said - some of the users got different Ip addresses here, and I do not understand why.