There is no point blaming companies - they are responding to the legal patent framework created by government. If they don't patent and defend, some other company will patent the concepts they are using.
Apple/IBM/Microsoft/Nokia etc need to file patents and defend them - they have few other choices. Look at Blackberry vs NTP and many many other cases.
Software patents are not contributing to innovation - and hence their reason for existence is flawed; it is on this point that energy should be focused.