The most useful thing about software patents IMO is what you uncover during the patent writing process. When you’re sitting there writing the equivalent of a 10-20 page college essay on the problem background, operating environment, then all the present and future uses of something novel (the provisional stage), it forces you to think in a way that no typical product management process does. There are few (any?) other forcing mechanisms I’ve seen that produce the same results.