You kinda sorta need to understand networking a bit.
I’ll give you the short version.
IPv4 (version 4 of the scheme), uses a 32-bit number as an address. It is neatly split into 4 8-bit “quads”, hence you always get 4 numbers with a dot between them.
In this scheme, three blocks have been set aside for “private networks”. These blocks are 10.x.x.x, 172.16.x.x, and 192.168.x.x. It is a bit more complex than that, but let’s keep it simple.
Home routers are called that because that is one of the things it does, it routes between you and the internet. On the inside, it will typically use a private range. On the outside, it will use ONE public address, which your ISP gives you. You don’t have to worry about that at all, just basics.
Routers typically use either a 10.something address, or a 192.168.something address. Rarely do you see a cowboy using 172.16… I digress. Your router is using a 10.x address.
You can decide how many addresses you need in your internal network. While the 10.x network technically has 16777214 addresses, most routers will be configured to use only a portion of this. 255 addresses. That means your network starts at 10.0.0.0 and runs all the way to 10.0.0.255.
There is a bit more complication: Some addresses cannot be used. The lowest one (10.0.0.0) is the network address and cannot be used. The highest one, 10.0.0.255, is the broadcast address, and also cannot be used. The router itself has an address (typically this will be 10.0.0.1) and this cannot be used either.
The rest, 10.0.0.2 up to 10.0.0.254, are up for the taking.
Now we get to DHCP. Dynamic Host Control Protocol. So how this works, is when your mobile phone (or whatever) connects to the Wi-Fi, it says, hey, my name is John, hand me an IP address! And then the DHCP server allocates one. This DHCP server is also built into that fibre/adsl/whatever router of yours.
You can usually tell the router which block of addresses it is allowed to use for this automatic allocation. It is common to leave some addresses open for “static use”. For example, in my home network, the DHCP pool starts at address 50. The first 40-something addresses are reserved for static allocation.
So how do you pick one? Well, you pick one that is between 10.0.0.2 and 10.0.0.254, and ideally one that is OUTSIDE the DHCP pool (for this you have to go look on the router, how that is set up).
It gets more interesting/complicated. Why does it change?
Well, that IP address is borrowed from the DHCP server. You are allocated an address, but it is valid for a certain time only (typically 24 hours). When the lease expires, you have to renew it. This happens automatically.
The DHCP client will always try to renew the same address it got the previous time. The server will (depending on how smart it is) assign the same one again, if it remembers the previous allocation. But none of this is guaranteed. And after a power failure, or if there was an outage of more than 24 hours for a particular device, that device may get a new IP address the next time it tires to sign on, as the previous allocation may have been forgotten by then.
The other reason it happens… is because you have multiple DHCP Servers on the network. That has happened to me. If you have multiple APs on the network, you must disable the DHCP server in all of them except one (the “main” router).