Różnica polega na tym, że prosisz mysql, aby policzył każdy wiersz w twoim oświadczeniu, zamiast po prostu zrzucić. W withCount nie chodzi o to, że jest szybszy, jest lepszy pod względem pamięci, jeśli potrzebujesz tylko liczby.
Na przykład mam związek z tysiącami elementów bogatych w dane. Jeśli po prostu użyję a z, a następnie spróbuję policzyć wyniki, php zabraknie pamięci. Jeśli używam withCount, zwracany jest tylko jeden element, który mówi mi, ile jest elementów, więc nie ma podatku od pamięci php, ale cała praca jest wykonywana na serwerze sql.