It is the problem of finding software prior art that is the biggest limitation for software patents. For other types of inventions, patent examiners can review previously issued patents. However, since most software inventions were unpatented (based upon the incorrect assumption that software is not patentable), examiners who rely only on previous patents for prior art end up missing most of the preexisting software. Nevertheless, patent examiners still rely primarily on previous patents, and the result is that many software patents have been issued that are "bad patents"--meaning that they would not have been issued had the examiner been able to find all of the prior art.
Projects such as that by the Software Patent Institute are attempting to make more software prior art available to patent examiners. However, bad patents continue to be granted. These patents cause problems for the software industry, since those accused of patent infringement must do their own research into the prior art in order to prove that the patent is invalid. In addition, the owners of software patents are disadvantaged, since the validity of their patents can be more easily challenged than patents that are granted in non-software areas. Finally, the existence of these bad patents have turned many software developers away from the idea of patenting software. However, this problem will eventually be overcome as databases of preexisting software become more complete and as patenting of computer software becomes more common.
For a discussion on the current state of software patents under the Federal Circuits In re Bilski decision, see the Bitlaw discussion of "Are Software and Business Methods Still Patentable after the Bilski Decision?"