US Courts, particularly the Supreme Court, generally prefer to make narrow decisions instead of broad ones. Occasionally they'll make a fairly activist decision, like the Miranda Warnings, or the Exclusionary Rule that says cops can't use illegally obtained evidence, but most of the time they'd rather decide a case on some relatively narrow grounds, such as rejecting somebody's argument because they didn't file the lawsuit before some deadline, or didn't have standing to make the case, or there were specific details as well as general legal principles and they could get the conclusion they wanted in this case based on the details instead of having to make new laws.
In this case, if I understand it correctly, they went sort of for the middle. They didn't throw out the whole concept of software patents, but there's a large class of software and business method patents like
- Claim 1: Something obvious (or well-known, or prior art, or otherwise unpatentable
- Claim 2: Do (Claim 1 thing) with a computer! (or On The Internets!)
- Claim 3: Profit!!
and they've tossed those out. That's separate from an earlier class of patents, from back in the days that you weren't able to patent software, that would take some algorithm and describe a machine that implemented it, in ways that sort of got around the rules by claiming that some competitor's software was a software implementation of their hardware design and therefore infringing.