Let's say we have a bitcoin wallet generated using the standard derivation path of m/44'/0'/0' and addresses are generated at m/44'/0'/0'/x/y. (x is the change index and y is the address index).
If we only change the address index, we can generate 2^32 addresses. The address index can be in the range of 0 to 2^32 -1 (or 0xFFFFFFFF in hexadecimal system).
If we change the change index as well, we can have 2^33 addresses. The change index can be either 0 or 1.
We can also generate addresses using non-standard derivation paths with changing the account index. We can generate addresses using the derivation path of m/44'/0'/1', m/44'/0'/2' and so on.
Like the address index, the account index can be also in the range of 0 to 2^32 -1.
With changing the account index, the change index and the address index, we can generate 2^65 addresses.
We can also generate more addresses with using BIP49 and BIP84 standards.
If we consider the three standards of BIP44, BIP49 and BIP84, we can generate 3 * 2^65 addresses.
It's still possible to generate more addresses using more complex non-standard derivation paths.