This cuts both ways: it's also easy to "surround" software patents with new innovations that are required to be competitive in the marketplace. Then both parties cross-license and you're good. Yes the lawyers get paid but the cost is pretty low compared with software engineers, and the societal benefit is that these innovative move into the public domain.
I don't understand your point, do you mean that this cannot happen in other fields?
I imagine that this is the case for most stuff in the world. Ideas are not usually unique but it's the great execution of the idea that present the real challange.
Once I had an idea while sitting on the toilet, about how to use past log data to pre-emptively scale up, when the peak hour is about to come.
I had the idea just randomly sitting on the toilet for a few minutes… it was already patented.