Duff speelde acht seizoenen bij Cheltenham Town. In zijn beginperiode werd hij kortstondig uitgeleend aan Cirencester Town. In totaal speelde hij 300 competitiewedstrijden voor Cheltenham Town, waarin hij 15 doelpunten maakte. In juli 2004 werd hij getransfereerd naar Burnley, dat in de Championship uitkwam. Tijdens het seizoen 2009/10 speelde hij met Burnley één seizoen in de Premier League. In 2014 eindigde hij met The Clarets op de tweede plaats in de Championship, waardoor de club promotie mocht vieren naar de Premier League.