The xTaskCreate() function is called with parameters including the task function, name, stack size, parameters, priority, and a handle pointer. It first checks if the task function pointer is valid and if the stack size is greater than zero. If these checks pass, it allocates stack memory and creates a Task Control Block (TCB). The task is then added to the ready list, making it ready to run. The function returns pdPASS to indicate success. The scheduler will run the task when it is its turn. Variables like the task handle and stack memory change state during these steps, as shown in the variable tracker. Common confusions include why stack size must be positive, what happens if the task function is NULL, and when the task actually starts running. The visual quiz tests understanding of these steps and variable states.