Yes, it's the output from a CAD tool and used for 3d printing but STL is a binary file type and not easy to edit. Committing STL files to a repo is analagous to commiting EXE files instead of source code or PDF files instead of TEX.
What I mean is ease of editing in a typical CAD tool: Solidworks, AutoCad, Sketchup, etc. STL is imported as a solid blob and you lose all the individual features from the source model.
Actually there are 10x more OBJ formatted files than STL files. I created a Chrome extension to visualize these on GitHub as well: https://github.com/danielribeiro/three-hub
Collada format is also very popular, particular with WebGL guys. The problem with diffing these is that you start diffing animations as well. Which literally adds a new dimension to the problem. If you take textures and materials into account, then the problem soon becomes really hard to visualize
STL files aren't sources. They are near the very end of the toolchain. At the front of the toolchain tends to be scripting languages like AutoLISP, OpenSCAD, MGED (BRL-CAD), etc.