The good thing about patents, I will agree, is that it enables smaller companies to develop something and then market it, without being "bullied" by larger companies.
Even that isn't necessarilly true. A (big) company with a large patent portfolio can just take the risk and violate the patent. If the small business dares to sue them, they can always find a patent of their own the small company does violate, so the y will settle with some cross licensing.
In fact, many big companies have just cross-licensed all their patents to the competition. This is very comfortable for them: It gives the big players the necessary freedom in development while keeping new businesses, without an patent portfolio, out of the market.
Patents are nowadays cleary used to erect market barriers, thereby making the free market a little less free. But every company dreams of it's own little monopoly.
When patents where invented sometime in the 18th century, they should originally assure that new inventions will become part of the human heritage. They encourage the inventor to tell it's secret to all, but give him a limited time to exclusively exploit this knowledge in exchange.
If this ever worked is the question, I do not know anyone who ever learned something by reading patent applications. But even if it worked, the problem is the 'limited time'. The timespan of now 20 years is a long time in computing. And this timespan tends to grow. In the related topic of copyrights, the original time the creator of a work retained all rights was 20 years. Now it's 95 years after the death of the creator, at least in the USA, thanks to some lobbying of Disney and MGM.
The main point the patent advocates are missing is IMHO:
The patent law (and this applies to copyright law as well) has not
been made to subsidice some individuals or corporations, however important to society they may be. It has been crafted to assure the knowlegde ends in the public domain, so everyone can benefit from it. The aim is not for the inventor to monopolize his knowledge, the aim is to increase the common knowledge of our society and to add to the human heritage.