Assigning meanings to Finnish derivational suffixes can be a pain. Plenty of them show a fairly scattershot selection of meanings. One example is -kko (-kkö); in modern Finnish, following Hakulinen in SKRK (54.15, 56.8 §§), six main functions can be identified:
- Generic diminutive derivatives. E.g. hauli ‘shot’ → haulikko ‘shotgun’, kesä ‘summer’ → kesakko ‘freckle’, kahdeksan ‘eight’ → kahdeksikko ‘figure eight’, kolista ‘to clatter’ → kolikko ‘coin’, lampi ‘pond’ → lammikko ‘puddle’, neljä ‘four’ → nelikko ‘quartet’, suu ‘mouth’ → suukko ‘kiss’; irregularly: veli ‘brother’ → veikko ‘brother mine, pal’
- Names of beings. E.g. elää ‘to live’ → elikko ‘critter’, emä ‘animal mother’ → emakko ‘sow’, hiiri ‘mouse’ → hiirakko ‘gray horse’, Savo → savakot ‘Savonian settlers in Ingria’. Some loanwords have been adopted into this group too: kriitikko ‘critic’.
- Names of actions. Examples are few, but include rynnätä ‘to rush’ → rynnäkkö ‘charge’, yltää ‘to reach’ → ylläkkö ‘assault’ (cf. yllättää ‘to surprize’).
- Areal-collective nouns, especially of plants. E.g. kataja ‘juniper’ → katajikko ‘juniper patch’, kuusi ‘spruce’ → kuusikko ‘spruce woods’, mänty ‘pine’ → männikkö ‘pine woods’, ruoho ‘grass’ → ruohikko ‘lawn’
- Local nouns. E.g. kivi ‘rock’ → kivikko ‘rocky area’, hieta ‘sand’ → hietikko ‘sandy area’, jäätää ‘to be freezing’ → jäätikkö ‘glacier’, pyhä ‘sacred’ → pyhäkkö ‘shrine’, ruoko ‘reed’ → ruovikko ‘reed bed’
- Modern coinages for quantitative terms. E.g. aste ‘grade’ → asteikko ‘scale’, moni ‘many’ → monikko ‘plural’, yksi ‘one’ → yksikkö ‘unit’
A look across the dialects of Finnish, as well as other Finnic languages, however reveals that at least this seemingly very polysemous suffix has not undergone a spontaneous semantic explosion somewhere along the line: it is instead of heterogeneous origin. Groups 1 thru 3 derive from Proto-Finnic *-kkoi, in turn from earlier *-kka-j (though some individual, presumably fairly new words can fail to show evidence for a diphthong in key varieties). Groups 4 and 5 (and arguably in an indirect way 6, I suppose) meanwhile derive from Proto-Finnic *-kko.
This duality is to an extent still visible in Finnish as well, in at least two facts of morphotax. Firstly: the latter suffix generally attaches to nouns’ plural stems (kivikko, not ˣkivekko), the former also singular stems (cases like lammikko occur, but so do cases like emakko).
The second point is subtler (and arguably starts bridging into reconstruction): in words with comparanda outside Finnish itself, only the latter suffix appears to have a front-vocalic variant -kkö, while the former is just about confined to back-vocalic use. This is attributable to the pre-Proto-Finnic diphthong split (another rather specific sound change that I think might deserve a more specific name): that in front-vocalic and labial back-vocalic environment, pre-PF *-Aj has yilded PF *-ei > Fi. -i, not -o(i). And hence we can identify as the original front-vocalic counterparts of the first two groups rather derivatives in -kki, including hypocoristic names such as mieliä ‘to desire’ → Mielikki, talvi ‘winter’ → Talvikki;  names of beings such as lempi ‘love’ (or lempiä ‘to love’?) → lemmikki ‘pet’, suosia ‘to favor’ → suosikki ‘favorite’; or action names (actionyms?) such as hävitä ‘to go lost’ → hävikki ‘loss (of goods)’, viipyä ‘to be late’ → viivykki ‘delay’. This suffix by contrast has no local use at all.
The etymology of collective *-kko has remained unclear, to my knowledge. Hakulinen suggests that this would be still originally a single etymological group, and that the precedent of some *-kka-derivatives (not even *-kkoi-derivatives!) from location roots such as perä ‘rear’ → peru ‘rear part’ → perukka ‘back end’ could have motivated a shift of the suffix from a loosely diminutive meaning to a local one. However, this does not explain at all the phonological contrast between *-kkoi and *-kko.
I think a more natural source can be suggested: extraction from the noun joukko (< PF *joukko) ‘group’. Semantically the connection seems self-evident, e.g. kuusijoukko ‘group of spruces’ = kuusikko. (Why the suffix is so firmly used for trees and other plants in particular remains mysterious to me, though.) *joukko is moreover among the oldest overheavy (CVVCCV) underived word roots in Finnic, a fact that seems like it could have further enabled a perception as containing a “root” *jou-  and a suffix *-kko.
Another question to ponder could be if the *-j-element that is usually indicated before this suffix is perhaps neither the plural oblique stem marker *-j-, nor even the nominal combining-form suffix *-j- (as in cases like lehmä ‘cow’ → lehmipoika ‘cowboy’); but rather continues the first syllable of *joukko? This could perhaps explain the fact that it appears not only where phonetically expected (*kuusə-j-kko > kuusikko), but also can oust stem vowels that ought to remain (*mäntü-j-kko > männikkö, despite the plural stem of ‘pine’ being mäntyi-).
There might also be one bisyllabic local noun that has been formed with this suffix, but hasn’t usually been identified as such: loukko ‘hole, den’. Earlier e.g. in UEW this has been compared with e.g. Mari *lŭk ‘corner’, Hungarian lyuk ‘hole’, but I suppose a better analysis will be segmentation as lou-kko. The root lou- appears to be then be identifiable with lovi ‘cleft’. This seems to be supported by how loukko refers not so much to something like a mole or badger’s burrow, as much as to a weasel or fox’s den in a rocky area: a “lovikko” full of nooks and crannies. — The possibility of this connection is suggested already in SSA, but apparently only as a passing editorial comment.
 This blog post brought to you by Göran Karlsson, whose former copy of oi- ja ei-nominit Länsi-Uudenmaan murteissa (Pekka Lehtimäki, PhD thesis, 1972) I have today picked up from University of Helsinki’s unofficial recycling point for Finno-Ugric academic literature, and which has inspired me to take a new look at some facets of this etymology (the main gist of it I’ve come up with some time ago already). — Perhaps also by his son Fred Karlsson, Uni of H’s professor emeritus who I suspect is responsible for leaving the book around free to a good home. Göran instead worked in Åbo Akademi, and if Wikipedia is to be trusted on this, retired already in 1980 and died in 2003, and I doubt the book would have arrived to Uni of H. already a minimum of a dozen years ago.
 Talvikki though is formed from a back-vocalic and illabial root. I wonder though if this phenomenon could reflect, rather than the generalization of the front allomorph to a couple of derivatives, original front-vocalism, given that PF *talvi < *PU *tälwä. The stem vowel shift *-A > *-ə in this root shape must have taken place before the split of *-Aj, but perhaps backing still had not been completed, and the words remained front-vocalic by the time of the diphthong split? and thus the development would have been e.g. pseudo-PU *tälwä-j-kkä-j > *tȧlwə-j-kkä-j > *tȧlwikkei > PF *talvikkëi. Even disharmonic PF *talvikkei does not seem entirely out of the question.
 I have earlier entertained the idea that this could maybe be identified with a weak grade stem of the pronoun joku ‘some(one)’, and thus joukko would be not an old Germanic loanword as is the current understanding, but rather from PF *jogukko ‘collection of some peeps’. But cognates such as Ludian ďouk (not ˣďoguk), Votic jõukku (not ˣjogukku) do not grant this idea support; this would leave the suffix *-kko still unetymologized; and joku does not even seem to actually form any derivatives, due to being a compound of two pronoun roots *jo- (joka, jo-ta ‘who, what’) and *ku- (kuka, ku-ta ‘who, what’), which even still inflect separetely (jotakuta, jollekulle etc.).