He signed for Preston North End from Portmore United in July 2003, initially on loan for the 2003–04 season before concluding a permanent deal at Deepdale in March 2004. During the 2004–05 season he provided Chris Lucketti and Youl Mawene with real competition for centre half positions and made 38 appearances for Preston, including the Championship play-off final where Preston lost to West Ham. In the 2005–06 season, Davis established himself as the mainstay of the Preston defence, contributing to 24 clean sheets and swept the board at the club's Player of the Season awards, named both the Player's Player and fans Player of the Season, as Preston reached the play-offs again.
On 14 June 2006, he signed on a four-year deal with Sheffield United for a club record £3 million, with up to £500,000 to follow based on his appearances for the Blades. However, he missed the start of the Premier League season after sustaining a knee cartilage injury in a friendly against Notts County in August 2006 at Meadow Lane. Later in the season, he hit the headlines for a disagreement with Ade Akinbiyi at the training ground, which was later resolved. In total he made 22 league and cup appearances for Sheffield United.
On 6 July 2007, newly promoted Derby County agreed a £3million transfer for Davis with Sheffield United, subject to a medical and work permit, signed a four-year contract on the same day. Davis was not officially registered as a Derby County player until 25 July 2007, after a delay with his work permit, the reason behind this delay was that Davis had not played enough international games over the two years previous to his move to automatically get a permit, he missed a percentage of these games due to injury. In 18 months with the club Davis, during which Derby were relegated from the Premier League after just one season, Davis played only 27 league games and was eventually freed from his contract despite it having two years left to run. Upon leaving he was described by one commentator as the club's "worst major signing" in its history
That summer, Davis was expected to move to Palace on a permanent basis, but unfortunately for both him and the club, the Football League placed a transfer embargo onto the club due to unpaid bonuses to former players, and Davis remained a Derby player until the end of August (when the embargo was lifted), joining the Eagles on a two-year contract on the final day of the transfer window.
On 15 September 2011, Davis signed for League Two side Crawley Town, where he was allocated squad number 28. On 27 March 2012, following a 2–1 away win for Crawley Town, a post-match brawl broke out between players from Bradford City and Crawley Town in which five players were sent off and punches were thrown. Davis was deemed by many, including referee Iain Williamson, as instigating the fight and was sent off. Manager Steve Evans, however, claimed Davis as the innocent party.
On Monday 21 January 2013, Davis signed for promotion chasing Rotherham United on an 18-month contract to link up with his former Crawley manager, Steve Evans and the chance to play at the New York Stadium. On his league début on 26 January 2013, Davis conceded a penalty for the opening goal for Bristol Rovers and got sent off, both in the last 3 minutes of the first half.