WordPress throws this error when wp_insert_user receives an ID that does not correspond to an existing user. The function treats the presence of an ID as an update request, so a missing or malformed ID triggers a WP_Error.
Typical triggers include passing a string, zero, negative number, or empty value as ID, or having custom code that alters the ID before insertion. Database corruption or multisite flags can also lead to the same outcome.