Thanks for all people's good answers. And Based on these, I think maybe I understand the differences between the two operations.
*ptr_current_node = entry->next;
and
ptr_current_node = &entry->next;
I have drawn a diagram to illustrate the remove function RemoveIf3. And the 2nd, 3rd steps is my understand of the two different operation of points.