A swap file is more flexible but also more fallible than a swap partition. A filesystem error could damage the swap file. A swap file can be a pain for the administrator, since the file can't be moved or deleted. A swap file can't be used for hibernation. A swap file was slightly slower in the past, though the difference is negligible nowadays.
The advantage of a swap file is not having to decide the size in advance. However, under Linux, you still can't resize a swap file online: you have to unregister it, resize, then reregister (or create a different file and remove the old one). So there isn't that much benefit to a swap file under Linux, compared to a swap partition. It's mainly useful when you temporarily need more virtual memory, rather than as a permanent fixture.
A linux system is built out of many different parts.
The central part is the linux kernel. (You can get it from kernel.org, it is originally written by Linus Torvalds who named it "Linux".)
The kernel by itself is pretty much useless. It manages all kind of hardware and provides an interface for applications to use. To make any use of it you therefore need applications using this kernel.
On the other hand there is the GNU project, initiated by Richard Stallman. Its mission is to create a complete free operating system with all the standard tools around it.
After several years the GNU project went well, they wrote all the standard tools, but they still were missing a working kernel.
So it happened that at the same time there was a project for a kernel without tools (Linux), and a project with all the tools but without a kernel (GNU).
As both were written with the same UNIX mindset it was possible to combine them into a full operating system which people aptly called "GNU/Linux".
But even this kind of bare "GNU/Linux" system is not very useful without the software you want to run on it. (Like a browser, a mail server, or anything like this.)
Therefore some distributions (like Debian, RedHat, SuSE, Arch, etc.) went to package a Linux kernel, the GNU tools, and all kind of applications together for easy installation and maintenance. (There are also distributions which use other kernels. For example you can have a Debian system with FreeBSD or GNU-Hurd as a kernel.)
Now for "normal" people, (who for example just want to have a running web browser) this background is much too detailed and they want just a single name for it. So most of the time someone claims he installed "Linux" he usually really installed some distribution which came with a Linux kernel as one part of many.
To cut a long story short, people often just use the name of the central kernel to refer to the whole system.
It is for you to decide what you call an "operating system". Is it just the thing that manages hardware (like Linux) or is it the thing you interact with (like your favorite desktop environment), or maybe something in between like a basic (command line based) GNU/Linux.
Best Answer
FreeBSD had patent problems with ATT at the beginning and was involved in a lot of lawsuits because it contained ATT Unix code. This was eventually solved but, in the meantime, Linus Torvalds created Linux. Many companies were not comfortable getting involved with FreeBSD because they were unsure of the outcome and many jumped onto Linux.
At one time, Torvalds had said that, if FreeBSD had been available when he was first interested, he never would have created Linux.
Personally, my little company has used FreeBSD for everything, about 9 years.