Whilst BTN offers this explanation -
From a place name in the Ayrshire district of Scotland. Possibly comes from the Gaelic cuinneag meaning "milk pail", or coney and hame meaning "rabbit home".
There are several other possible explanations
1) meaning descendent of Con, which itself means leader (Ireland).
2) from a place name of the same name in Ayrshire, near Kilmarnock. Cunningham the first element cunning as in sly/devious from the original meaning that of Witch. Therefore meaning the witch's homestead.
3) Cunning is from the Old Scandinavian konungr meaning king.
4) It relates to rabbits, in a old form of coney, as coning or conig, the northern form of which was cuning. As mention in BTN
If wonder if any other Surname has generated so many possible explanations? It is interesting also to see 4 complete different meanings.....
Thoughts, for or against welcome?