As a small developer who invented something and has patented that invention. What do you do when Apple uses that patent without informing you or paying you. Do you sue them? That will take 10 years and lots of money and will surely wear you out. The only way a small developer gets paid for a patent is by selling it to a patent troll. I guess this is how the system works.
By the way, I don't agree with software patents, and I think 20 years is too long for a patent in this day and age.
There is another way. You can sell the company that owns the patent to a larger company (that isn't a troll). M&A's often assign a high value to IP...
But in many industries patents benefit the small developer because they help you gain investment. If an investor sees you have reasonable patent coverage they’re more likely to give you money. Eventually if Apple sues you an investor might give you more money to fight the patent battle (if there’s a reasonable chance of a payout).