How is the difference defined...by the legal folks and the Patent office...?
I just see Software patents at the Bitlaw website....
Design patents only protect ornamental designs. They do not protect functional aspects of a device or system. Google got a design patent on the ornamental design for their search engine. That patent only protects the images you see in the design patent. It would not protect the underlying functionality, so someone could implement Goggle's search function without infringing the design patent.
Utility patents protect functional aspects of an idea. Google could patent their search function (assuming it met the criteria for being new, not obvious, etc.).
Whenever someone talks about "software patents," they are talking about utility patents. They are talking about patents that protect the underlying functionality of the software. That's what hacks the open-source folks off so much. A software utility patent would, for example, cover all implementations of the search function Google might patent.