Linux is largely built by independent developers who love their freedom. There is no overall management, roadmap, or quality control. Each application and each Linux distro takes care of itself, and the quality varies. Not surprisingly, chaos happens. However, many technical methods and conventions have been established from experience and by natural leaders, so the chaos is somewhat contained.
There are two main areas of competing technology: diverse package management systems and diverse windowing systems. The packaging diversity makes it difficult for developers to create applications that easily install and run on most Linux distros. The windowing diversity means that developers and users must choose from several competing systems that manage the desktop and windows. When their choices differ, an application does not integrate perfectly and has a foreign look and feel (if it runs at all). There are also other incompatibilities in the diverse Linux distros, and these can make applications fail or require additional work for developers to overcome.
There is a Linux standards body, LSB, but there are two big problems:
LSB included most pre-existing practices (conflicting, overlapping) in the standards, and LSB is mostly ignored. Making RPM the standard
packaging system has not converted any DEB-based distro into using RPM (and the adapter program "alien" is handicapped). Even among distros using the same packaging system, diversity in package naming, package boundaries, libraries, etc. prevents any sharing of packages.
This is a factor that could ultimately contain the chaos. Ubuntu threatens to become the dominant Linux distro, which would set "de
facto" standards for application developers. Other distributions would feel pressure to conform or be left out. This has already started to
happen. The impending appearance of a new Linux flavor from Google could wreck this possibility - or strengthen it by replacing Ubuntu
with a more widely available and accepted standard.
Fit and Finish, Quality
Quality in free software does not come from competition in the marketplace, but more from a sense of mission and pride of authorship. However, some developers seem remarkably unconcerned about usability, bugs, and documentation. Many volunteers work on finding bugs and generating better documentation, but this is not adequate. Bugs may be fixed slowly or not at all. Community documentation tends to be disorganized, incomplete, poorly written, and full of outdated junk. When everyone is responsible, no one is responsible.
Freedom and Choice
Many Linux advocates claim that development freedom and the resulting plethora of choices is good. Freedom of choice is not always good - what if each driver decided which side of the street to drive on? Freedom FROM choice (i.e. standards) is sometimes better. It is often hard to know where the best tradeoff lies. For example, the many windowing systems for Linux are both a force for good and a force for evil. We want competition and alternatives, but not confusion, compatibility problems, and fragmentation of development resources. IMHO, the diverse windowing systems do more harm than good. The world would be better off if Gnome and KDE joined forces.
Linux can fully meet most needs, but some things are still missing. Photoshop, MS Office, and many other proprietary (usually expensive) applications are not available, as well as most games. Adequate free alternatives are often available (e.g. Gimp instead of Photoshop, OpenOffice instead of MS Office). OpenOffice has been semi-compatible with MS Office in the past, but Microsoft is moving MS Office away from standard formats to prevent interoperability, while claiming the opposite and working aggressively to destroy the relevant ISO standards process. They will probably be successful and their customers will not run away.
Quality, security (viruses and other malware), and ethics problems are driving a few Windows users to Mac and Linux, but not many. Users are reluctant to change and need to run compatible applications, and this effectively protects Microsoft's monopoly. Those willing and able to change to Linux can reduce expenses for software and remain free of malware with almost no effort.
In spite of its problems, Linux is a solid operating system with many excellent applications. It is improving rapidly. The desktop market share is only about 1-2%, but this is slowly growing. It is easy to install (esp. Ubuntu), and some PC vendors are starting to offer pre-installed Linux. You should not be afraid to try it out. You will have problems adjusting, but if you are persistent, you will be successful.