This is an old question that already has answers covering many of the structural differences. The question is written from the perspective of migration from Windows. The author has a technical background, but current readers may not. There are several aspects not mentioned that might be bigger considerations in the choice of distro, particularly for new, non-technical users. (Note that this answer reflects the distros as they exist in mid-2016).
1. "Newbie Friendliness"
For new, particularly non-technical, Linux users, a number of factors affect how practical a distro will be, including:
- An automated installation, including all needed drivers
- A minimum of new knowledge required, which can vary between distros (although not so much a factor among the distros named in the question)
- Things working the way they're supposed to
- Ready access to understandable, comprehensive documentation
- An effective user support system
- Utilities that perform infrastructure functions in an intuitive way
- Availability of user's choice of desktop environment
- Repository containing user's preferred applications, in recent versions
Migrating from Windows to Linux, even in the most newbie-friendly distros, often requires switching to equivalent software, which means getting familiar with new user interfaces for many applications at the same time. Linux "infrastructure" activities are different and require learning. The desktop environment will also be at least a little different.
Collectively, all of these changes and learning requirements can be a bit overwhelming. It can be especially frustrating for a non-technical person when the job is confounded by things not working the way they're supposed to. A major factor affecting the extent to which things don't work correctly is the stability level of the distro.
Distro Stability
Most Linux distros migrate new packages through testing stages until they are deemed free of critical problems, at which point they are accepted into the "stable" category. Some distros release only what is stable. Debian, for example, also provides access to what is in the less-than-stable categories.
There is a trade-off between the risk of undiscovered problems vs. access to the most recent versions of software. There can be a long delay while packages work their way through testing. Once the stable distro is released, it can remain in use for a long time. So software in a stable distro can get old by many versions and lack recent features.
A number of distros are based on Debian's less-than-stable categories. For example, Ubuntu is based on Debian Testing. The packages in this category don't have known or expected critical problems, but they haven't completed testing to ensure that they do not. Users of the Debian Testing base are a de facto part of the testing program that discovers the problems. Discovering problems can be a frustrating experience for a non-technical user who just wants to get his work done.
The risk of problems isn't just theoretical (which is why the process exists). How much this affects you depends largely on the packages you use, but a stable distro can be less frustrating for a Linux newbie.
Some relevant characteristics (in the distro order listed in the question):
openSUSE
openSUSE is the most stable of the three. It also has extensive, professionally-developed user documentation.
The major desktop environments are available. You are likely to find most common applications in its repository, and they can be expected to be pretty trouble-free. Despite being a stable distro, it generally has recent versions of at least the most popular applications (more so than Debian Stable in my experience).
Ubuntu
Ubuntu is based on Debian Testing, which is the stage prior to the Debian equivalent of the openSUSE release.
The major desktop environments are available within the Ubuntu family. It has a huge (but "less-than-stable") repository, so it provides access to extensive current and recent software, but there is more possibility of encountering problems.
Ubuntu is popular and has a large user base. There is plenty of online documentation, forums, and other sources of support.
New Linux immigrants, especially non-technical users, may want to consider Mint as a starting option. It is based on Ubuntu, but has some helpful utilities and a more beginner-friendly updating system.
Fedora
Fedora is the least stable of the three. In fact, it's intended to be bleeding edge. It generally has the latest versions of third-party software. More relevant, though, it is a development bed for new Linux features and utilities. The criteria for inclusion in Fedora aren't all that different from the Debian Testing criteria that Ubuntu is based on. However, Fedora is created purposely as a test bed, so the possibility of some problems is expected. From the standpoint of the desire for a rock-solid operating system, Fedora probably isn't the best choice for a new, non-technical Linux user.
While the new features and applications may have as yet undiscovered problems, the latest versions of applications include fixes to previously discovered problems. So not everything is in the less-stable direction. Another benefit is that some of the efforts to refine the usability of Linux through automation and improved user interfaces appear in Fedora first. To that extent, some functions may be easier for new users.
The major desktop environments are available. Fedora has a new release roughly twice a year, which doesn't leave a lot of time to do extensive testing on third party software. Its repository is only about one third the size of openSUZE or Ubuntu (but still, that's well over 20,000 packages). So you are likely to find popular software, but if you need something esoteric, it may not be off-the-shelf.
Red Hat
The question also mentions Red Hat. RHEL (Red Hat Enterprise Linux), is designed as an enterprise product targeted at the commercial market. RHEL is based largely on Fedora packages that have gone through roughly a year of testing after Fedora release. Most people who want to use RHEL on their personal computer use CentOS, instead, which is essentially RHEL with vendor branding removed.
RHEL is geared to an environment where reliable operation is critical, which is great for a new, non-technical Linux user. However, that environment tends to have IT support. Infrastructure activities (or their documentation), sometimes aren't newbie-friendly.
For RHEL and CentOS, only the Gnome and KDE desktop environments are available. The business environment for which RHEL is targeted doesn't generally need to have every imaginable application available off-the-shelf. Not every package in the Fedora repository makes it into the RHEL repository, and there isn't extensive testing and supplementing done by either Red Hat or CentOS. So RHEL or CentOS wouldn't be the best match for a new user who wants ready access to any and all applications.
2. Longevity
I'll mention one other consideration. Non-technical users often would prefer to find a distro they like and then never have to deal with replacing it. Several factors can affect the ability to do this in practice.
Release Cycle
Fedora has a new release about every six months and a release life of about one year. This means you need to plan on upgrading frequently. openSUSE has a major release about once a year and supports it for two to three years, with additional long term support for some releases. Ubuntu comes out with a major LTS (Long Term Support) release about once a year and supports it for five years. RHEL and CentOS have a major release every two to four years and supports them for 10 years (RHEL has previously extended support for several releases for a number of years beyond that).
Rolling Release
Some distros have a rolling release, which means that the user should virtually never need to upgrade. That sometimes works better in theory than in practice. Rolling releases don't get testing equivalent to a stable release, so they have more potential to introduce critical problems.
For example, openSUSE also offers a rolling distribution called Tumbleweed. Some third-party modules and drivers don't always keep up with Linux kernel releases, so openSUSE doesn't guarantee that everything will work on your particular system. For non-technical Linux immigrants, Tumbleweed probably isn't the distribution to start with.
Another consideration for a rolling release is that the system may have limitations on updating across multi-release intervals, driving a need to keep the distro reasonably current. For example, PCLinuxOS, a distro not mentioned in the question but one that uses a rolling release, recommends updating at least every week or two, and warns not to go beyond 60 days because they don't test upgrading from releases older than that. If you are only dabbling with Linux and it might be sidelined for months at a time, this would be another situation to investigate if you're considering a rolling release.
Organization Size
In Linux, there are a relative handful of big operations, and hundreds of tiny operations. Many of the tiny operations are as small as one person doing it as a hobby or experiment. There is a high rate of these distros being abandoned or maintained sporatically. Even when they aren't abandoned, the operation is often too small to provide much direct user support or to develop a lot of documentation (or the developer/maintainer isn't skilled at writing to meet the needs of a non-technical audience).
For this reason, users new to Linux who want to "set it and forget it", may be best served by starting with a distro from one of the major operations. All of the distros mentioned in the question meet this criterion.
Because the people putting them together are substantively different and their concerns, drives and motives for creating are different. – Fiasco Labs – 2016-07-25T15:41:32.073
>
6you mean aside from the fact that FreeBSD isn't a Linux distro? – quack quixote – 2009-11-27T18:46:59.070
Good point, actually.... – Nick Haslam – 2009-11-27T22:04:30.887