Steam is a proprietary digital game store from Valve software. It offers a wide range of both paid and free to play games that run fine on Linux systems. Some Steam games run naively on Linux and some run using a Windows emulation layer called Proton. Many of the free to play games like CS:GO are really good and quite fun.
Features and usability
Steam is a games store and launcher. It is easy to use for that purpose.
Steam's "Store" allows you to filter games by "Free to play" if you do not want to pay large sums of money. There are quite a lot of games available for free - free as in price, not free as in free software.
DRM and moral issues
It has been said that:
"Steam is proprietary malware that locks you in with DRM. Stream is mutually exclusive with freedom. By adopting Steam as an ecosystem on Linux, you're turning Linux into what Google did and is still in the process of doing with Android: open-source at the core, but utterly reliant on a proprietary ecosystem to function, reducing the merits of FLOSS to none."
It is true that Steam is non-free proprietary software - even if the store itself and a fair amount of games on it are free as in you pay nothing (but your freedom). It is also true that developing a AAA-title game is quite expensive.
Running Windows games on Linux
Steam includes Windows compatibility software called "Steam Play". This is a bundle of Wine and a DirectX to Vulkan translation layer called "DXVK". Steam calls this bundle "Proton".
Steam's Proton can be used to pay some Windows games flawlessly but this is not something you can count on. A lot of games will either work poorly or not at all. The site protondb has a growing list of reviews by Steam users who have tried running specific Windows games on Linux. That site rates games as Platinum, Gold, Silver, Bronze and Borked. We do not recommend buying any Windows Steam game that is rated below Platinum if you mainly play games on Linux.
Games using "anti-cheat" DRM measures are known to not work with Steam's Proton. These games are often described as using either "Easy Anti-Cheat" or "BattlEye" systems. Most of the ProtonDB entries for such games have a warning about it.
Linux performance can be expected to be 10-20% worse than performance due to the way DKVK works. Wine is not an emulation layer, it is Windows APIs re-implemented as native Linux code. This has no performance penalty. DKVK is different from the rest of Wine; it is not a re-implementation of DirectX. The calls are translated into Vulkan calls and this translation results in a performance penalty.
Verdict and Conclusion
Steam makes installing games on Linux really easy, just click on the game you want and you get it. There are many high quality free-to-play games like CounterStrike available in the Steam store. If you want to play fun games on Linux and you don't mind installing some DRM-ridden immoral software then Steam is for you. If you are a die-hard free software enthusiast then it's clearly not.
Distributions and support
Steam works just fine on current versions of Ubuntu, Linux Mint, Fedora and most other distributions. It is included in Manjaro Linux's default installation.
Valve announced future Ubuntu versions will not be "officially" supported by Steam on June 21th, 2019. Future versions of Ubuntu will likely still be able to run Steam just fine using some third party PPA or Snap packages.
Bugs to avoid
Many Steam games just crash when they are launched from a partition with the XFS filesystem. While it's not common to use XFS for $HOME, it's something to be aware of. This is Steam specific, XFS is a great and mature filesystem which generally works well.
Linux kernels 5.1.11-5.1.13 have a quirk which makes Steam not connect to it's Steam network. Launch Steam with
steam -tcp to by-pass this bug. Kernel 5.1.14 and later kernels will have a fix.