Totally honest explanation:
In the US, white people like to use Caucasian instead of white because it sounds more neutral and scientific and it makes them less uncomfortable to think that they belong to a race, because they’re not used to racialization (they think of themselves as the default, and everybody else as racialized).
A lot of POC will also use Caucasian simply because we know that white people don’t like to be called white. So we might use the word white ourselves, but if a white person is around, and we need to be polite to them, we’ll use Caucasian so they don’t get mad, but we think it’s kind of silly.
Unfortunately, the word Caucasian is super inaccurate. There are a lot of people in the actual real Caucasus region many of whom have only tenuous white privilege in the US, especially Muslims. So using the word Caucasian to mean “white as determined in the US” leads to a lot of confusion for everyone. Honestly, though, because of our education system, most people who use the word “Caucasian” in the US are only dimly aware of foreign countries and don’t even know that a region called “the Caucasus” even exists.
There’s nothing wrong with using the word “white,” other than the fact that it makes many white people uncomfortable to be called white. It’s the simplest and most neutral word we have available in a limited toolkit. “Caucasian” as a racial descriptor is potentially racism-reinforcing and always inaccurate.