A difference between software patents and other patents that pg is missing, is that a piece of software is always a composition of thousands of (patentable) ideas. A non-software product is typically a composition of 0-10 (patentable) ideas.
That means that the odds of any hardware product of accidentally hitting or being encumbered by a patent are nearly nil. The odds of a software project of not hitting any patent are nearly nil.
This difference is circumstantial and not a fundamental property of things -- but a very important one.