Actually, having been a developer on a team
that shrink-wrapped a product or two, I can relate.
Yes. Not having 75 different PCs in your test
bed is a major reason, as is the laziness factor.
Or, more approproately, prioritization of effort.
But the big reason for not finding an absolute
minimum configuration and printing that as the
requirement, is the all-too-common occurance
of someone with those exact specs who happens
to be running a web server or a company database
on the same machine as the one you spec'ed.
So to avoid requirements like:
"PII 400MHz, 64M, 2G (75M free), unless you are
running a webserver concurrently, in which case
it's PIII 600MHz,128M, 4G (100M free) or if you
are running a company database, in which case
it's PIII 450MHz, 64M, 20G (2G free), etc, etc,
yadda yadda yadda..."
To avoid that, the requirements guys usually leave
a little slack in the requirement. The reason is
not, I assure you, to push PCs for Uncle Bill.
-uncle bear