Morrison begynte sin aktive karriere som fotballspiller hos Crystal Palace i 1996, men fikk ikke sin førstelagsdebut før mot Sheffield Wednesday i mai 1998, da han kom inn som innbytter for Neil Shipperley. I 1998/1999-sesongen ble han klubbens toppscorer, og fulgte opp i sesongen etter med å score 14 mål på 30 kamper. Da forholdet til manager Trevor Francis kjølnet utover 2001-sesongen la Birmingham City inn et bud på Morrison for 4,25 millioner pund i en byttehandel med Andy Johnson.
Hos Birmingham fikk han problemer med å takle det høyere liganivået, noe som førte til ti scoringer fordelt på to sesonger. Etter at han kom tilbake fra en skade i 2004/2005-sesongen etablerte han riktignok et målfarlig samarbeid med Emile Heskey. Den 24. august 2005 forlot han Birmingham, på grunn av manglende garantier om førstelagsplass, til fordel for gamleklubben Crystal Palace for to millioner pund. Her dannet han spisspar sammen med Andy Johnson og siden Dougie Freedman, og i november 2007 scoret han sitt mål nummer 100 for London-klubben. Da kontrakten med Palace gikk ut etter 2007/2008-sesongen dro han videre til Coventry City, hvor han skrev under en toårskontrakt i august 2008.
På litt over to sesonger scoret han over 20 mål på 90 seriekamper før han ble satt på overgangslisten mot slutten av 2009/2010-sesongen. I juli 2010 skrev han under på en toårskontrakt med Sheffield Wednesday, som akkurat da hadde rykket ned til Football League One.
Landslagskarriere
Morrison var født i England, men valgte å spille for Irland og hadde anledning til å gjøre det fordi hans bestemor var fra Dublin. Han fikk sin landslagsdebut i en kamp mot Kroatia i august 2001, hvor han kom inn som innbytter og scoret Irlands andre mål i en kamp som endte 2–2. Han ble tatt ut i troppen til VM i fotball 2002 av landslagstrener Mick McCarthy, men fikk ikke spille en eneste kamp.