Бенни рос в бедном и криминализированном районе Кейптауна, где уличный футбол часто прерывался стрельбой. В семье ему приходилось делить одну пару бутс с братом Джеромом. Любил смотреть по телевизору матчи английской Премьер-Лиги, где болел за «Манчестер Юнайтед».
Первой командой для него стал «Янг Пайретс», которым управляли его дяди. Затем выступал за юношескую команду любительского клуба «Красейдерс». C сезона 1995/96 начал профессиональную карьеру в клубе первого дивизиона «Севен Старз», который позже объединился с «Кейптаун Спёрс» в кептаунский «Аякс» — фарм-клуб амстердамского «Аякса». В сезоне 1997/98 голландцы, заплатив южноафриканцам $1 000 000, пригласили к себе Бенни, который забил 9 голов в 16 матчах того чемпионата, ставшего для команды чемпионским. В следующем сезоне он взял с «Аяксом» Кубок страны.
Сезон 1999/2000 Бенни начал в испанской «Сельте». Первые два сезона он провёл не так удачно, как выступал в «Аяксе», после чего был отдан в сезоне 2001/02 в аренду «Порту», где на него сделал ставку новый тренер Жозе Моуринью. В итоге в 11 матчах чемпионата он отметился 12 голами. Сразу выкупить Бенни у галлисийцев «драконам» не удалось, но они сделали это сразу после продажи Элдера Поштиги в «Тоттенхэм» перед стартом сезона 2003/04. В «Сельте» же всё это время южноафриканец был игроком запаса.
С 19 голами Бенни стал сразу лучшим бомбардиром чемпионата Португалии, а также помог клубу одержать победу в Лиге чемпионов, в частности, оформив дубль в домашней игре 1/8 финала против «Манчестер Юнайтед». После ухода Мауринью в «Челси» летом 2004 года Бенни был близок к переходу в английский «Эвертон», где искали замену Уэйну Руни, однако президент «Порту» Пинту да Кошта опроверг факт таких переговоров, после чего Бенни остался в клубе, борясь за место в основе с бразильцем Луисом Фабиано и португальцем Дерлеем. Дальнейшее пребывание в клубе принесло Бенни победу в последнем в истории Межконтинентальном кубке, а также в чемпионате Португалии 2005/06.
В 2006—2010 годах выступал в составе английского «Блэкберн Роверс», 1 февраля 2010 года сменил клуб на «Вест Хэм Юнайтед».
В 1997 году принял участие в молодёжных чемпионатах Африки, где было взято «серебро», и мира.
Забив 7 мячей на Кубке африканских наций 1998 года поделил титул лучшего бомбардира этого турнира с египтянином Хоссамом Хассаном, причём в матче с Намибией ему удалось оформить покер за 13 минут. Также турнир принёс ему серебряные медали и включение в символическую сборную турнира. На чемпионате мира 1998 года принял участие во всех трёх матчах своей сборной, забив один гол в ворота сборной Дании, установив в том матче окончательный счёт (1:1). Таким образом, Бенни осуществил свою детскую мечту — забить гол в ворота своего кумира Петера Шмейхеля. На Олимпийских играх 2000 года отличился во встрече со Словакией, команда из группы не вышла.
На чемпионате мира 2002 года Бенни также провёл на турнире все 3 матча «Бафана-Бафана» и забил один гол в матче, проигранном испанцам со счётом 3:2. С тех пор футболист периодически отказывается от выступлений в сборной, критикуя её руководство, что не помешало ему стать лучшим бомбардиром в её истории.
В преддверии домашнего для ЮАР чемпионата мира 2010 года президент страны Джейкоб Зума рекомендовал вернуть Маккарти в команду, однако в ходе подготовки к играм мирового первенства его и вратаря Роуэна Фернандеса журналисты якобы уличили в нарушении режима, когда те провели ночь с проститутками. После этого скандала главный тренер сборной Карлос Алберто Паррейра вычеркнул из окончательной заявки на турнир обоих, причём причиной отчисления Бенни официально стал его лишний вес.
Как игрока национальных сборных ЮАР:
Как игрока «Аякс» (Амстердам):
Как игрока «Сельты»:
Как игрока «Порту»:
Как игрока национальных сборных ЮАР:
Как игрока «Порту»: