When I used M-18 and F-18 Smoke Canisters for airshow work I recall that they used to cost about $40 each. Bought them in bulk to hang on skydivers and airplanes. Actually used to remove the percussion fuse and convert them to electrical ignition.
The M-18 and F-18's are/were made by Alliant Techsystems, think the same folks who own a bunch of the ammunition manufacturing. I can only guess that they sold off the excess of government contracts to us civilians. They have to ship motor freight due the the hazmat rules.
There are other commercial sources for smoke generators that do not include a percussion fuse and look less like movie grenades. You may not know that for instance plumbers use smoke to find leaks in some types of vent pipes.