Although I'm not part of our software crew, I work for a company that does, in fact, make software as one of our products, and what y'all have described is basically correct.
You've only got so many keys sitting around at one time (either in your shop or given to a reseller) and once you run out, you have to run new ones. Though not a hugely time consuming process, it's not exactly instant. One of my customers needed a license for more machines than what they already had just the other day, and it involved a few phone calls and a couple of hours to make a valid key and get it out to the production site.