Microsoft is hardly special in their usage of patents, nor can anyone really blame a company for doing so. It's their duty to make money for their shareholders, and failure to do so is a betrayal.
Beyond that, patents aren't any more a fundamentally bad idea in software then they are in any other field. One can argue about the need for a much more stringent application system, or the need for much shorter patent lengths then would be granted in a slower moving medium, but the fundamental need to provide an financial impetus for innovation is still there.
I'm fairly convinced the entire issue is really little more then industry trying to maximize profit versus OSS advocates concerned only with sprouting rhetoric. The underlying concept - that you generally get more good ideas if you give enough incentive to take the risks of invention - has been lost.