Cunningham, a striker, began his professional career with Lincoln City in 1979. In three years with the Imps, he made 123 league appearances and scored 32 goals.
Barnsley came in for his services in 1982, and he went on to make 42 appearances for the South Yorkshire club, scoring eleven goals.
After leaving Oakwell, Cunningham remained in the White Rose county, making 28 appearances and scoring five goals for Sheffield Wednesday.
In 1984 Cunningham had a short spell with Manchester City before moving to the North East to join Willie McFaul's Newcastle United. He spent two years on Tyneside, making just short of 50 appearances for the Magpies, scoring four goals.
Cunningham traded the North East for the North West in July 1987 when he signed for Sam Ellis' Blackpool for a tribunal-set fee of £25,000. He made his debut for the Seasiders in the opening day of the 1987-88 season, a draw at Gillingham.
What started as a promising Blackpool career became a disappointing one. As the team struggled, Cunningham was made a scapegoat, and at the end of the 1988-89, he rejoined Ellis, who had become manager of Bury.
On his return to Bloomfield Road with the Shakers, on October 31, 1989, Cunningham delighted the home support by getting sent off in the first half. The visitors, however, won the game by a single goal.
After Bury, Cunningham played for Bolton Wanderers, Rotherham United, Doncaster Rovers and Wycombe Wanderers. After almost 500 league games and over one hundred goals, he ended his career with non-league Gainsborough Trinity.