You know, I love threads like this. Please hear me out.
Everytime a company starts out, they have an idea people like. When the idea catches on, they add the features that are requested by the major users of the product. After doing such, many of the smaller people jump ship and complain about bloat. This has happened to windows, this happened to symantec, this happened to adobe, and this happened to pretty much any company that made it big.
I understand the logic in that people want a product to stay small, but for a product to grow and catch new users, the developers have to add the features that are called for. Adobe reader is a fantastic product. I own, and just renewed actually, a license to several foxit products including the reader pro pack and pdf editor. While foxit's products are nice for portability, they do not hold a candle in usability when compared to adobe's products. Yes, adobe has been hit with an onslaught of vulnerabilities lately, but the issue lies deeper than adobe "not trying to find them" or "not filtering the code so they never existed in the first place".
There are only a finite amount of resources available for most companies R&D and testing departments. Beta testing helps alleviate this but it does not find everything. Adobe seems to have received lots of ridicule on this very site for the bugs that have been found. Would it have been nice if they were caught prior to this? Of course. The problem lies in that every piece of software is developed by man. Man is by nature fallible. As such, the software created by a fallible being is in and of itself fallible. How any person can sit and say "With a staff this large they should have caught these bugs" is laughable. There are millions upon millions of configurations that adobe and the beta test team simply cannot account for.
There is a reason Apple has made their software installable on only a limited amount of hardware. If apple had the same amount of hardware to support, they would have the same issues. The issue is not microsoft product centric, it just falls that way because A. Apple controls very tightly what hardware their products will install on without hacking, B. Linux is not supported by many major manufacturers minus the server side because it, in all reality, is not a feasible product for enterprise-wide deployment on a desktop scale, and C. Microsoft, like it or not, is the largest software company in the world and it's products are capable of supporting an infinite number of platform configurations. Microsoft has catered to what it's users want which is an OS which can install on any platform and perform a variety of tasks out of the box. Many of the problems we are seeing in many of these products relate to features which are either new, or very often not utilized as often as people proclaim.
So please, I ask for people to stop saying "Switch to XXX" whenever a vulnerability appears. Switching will not solve anything because as soon as that product makes it big, it will turn into every other product out there. Time has shown this to be definite and inevitable for any software manufacturer which makes it big. Let's focus on helping these companies detect and fix these issues in a timely manner rather than abandoning them because of a few flaws which, in well over half of the cases, never affect anything more than half a percent of the population.