To contribute to (say) the Linux Kernel, or Firefox, you need to be a good programmer. To contribute to Wikipedia is a little easier, but you probably need to be pretty knowledgeable about something non-trivial.
To contribute to OpenStreetMap, you only have to know somewhere. It's quite likely that almost everyone knows something that isn't in OSM.
Even 2 people from the same town, but live 1km apart could probably contribute different things to OSM.
Combine that with everyone wanting to see their own town/city/house/area on a map, and it's a recipe for explosive growth.
Generally agree with the ease of contribution sentiment to OSM, but your characterization of Firefox contributors dismisses the valuable work that 9 out of 10 Mozilla contributors do who aren't programmers. You absolutely do not need to be a good programmer, or any kind of programmer at all, to contribute to Firefox. https://www.mozilla.org/en-US/contribute/
Most of my point still stands w.r.t. Firefox. QA, graphic design, education, translation and documentation are still skills that lots of people don't have.
To contribute to OpenStreetMap, you only have to know somewhere. It's quite likely that almost everyone knows something that isn't in OSM.
Even 2 people from the same town, but live 1km apart could probably contribute different things to OSM.
Combine that with everyone wanting to see their own town/city/house/area on a map, and it's a recipe for explosive growth.