Using Windows apps on linux is possible. Not all, but many. Especially if you are into Steam games then it is pretty seamless. Steam itself runs on Linux, and works just like the Windows version. The Steam Deck handheld actually runs a version of Linux under the hood. The new Steam Machine coming out will as well. Valve has done a lot of work to make as many Windows games as possible run those platforms, and Linux as a whole benefits from that. Some game developers for whatever reason go to extreme lengths to make sure their games only run on Windows. Those cause problems and there's not a lot that can be done to fix that besides convince those developers of the error of their ways. Other than that however the games mostly just work.
Valve makes it all work on Steam by using something called "Proton". Proton is Valve's game-optimized version of a sort of launcher called WINE that will run Windows apps. "WINE" is a recursive acronym for "WINE Is Not an Emulator". WINE can be used to make most other Windows apps think they are running on Windows. Again, some developers of specific programs cause problems but in general it works pretty well.
There is also quite a lot of good software that runs natively on Linux of course. Web browsers like Chrome or Firefox for instance. There's an Office-like suite of software called LibreOffice to do spreadsheets, word processing, presentations, etc. There's programs like Kdenlive for video editing. There's GIMP for "photoshopping" and Blender for 3d modeling. I play the Java version of Minecraft with my brother in Wisconsin most weekends, and we'll usually run a Discord voice chat while doing so. Mods for Minecraft also work in Linux. I use the Linux version of the Minecraft launcher called Prism to help me manage my Minecraft mods. There's Linux versions of Teams, Slack, and Spotify. Chances are very good that anything you run on Windows either has a version for Linux from the same developer(s) or you can find a different program on Linux to do the same thing.
A lot of software is "free" on Linux. Not all of it.
There are 2 meanings to "free". One meaning is "free of charge". Yes, there is a lot of software that you don't have to pay for. The Linux operating system itself is in this category. If you go to a site like distrowatch you can find lots and lots of different versions of Linux to download and install on your computer. The different versions are all using the same core Linux operating system but are organized around and optimized for different communities of users. Some are for particular types of hardware such as laptops or routers. Some are for different types of users, such as media producers, scientists, business users, or programmers, etc., etc. The most popular ones like Mint or MX are aimed at the typical home PC user. All these "distributions" (distros) are all free of charge to download, install, and use. Many do charge for support however, especially those distros that are directed at business or professional users.
Some software available for Linux is not free of charge. It is up to the developers of a particular bit of software as to whether and how much they charge. (It is their software after all.) Some software developers charge for their software just like most do on Windows. Some request donations, either to themselves or to their favorite charities. Some do not require payment at all. Most are covered by some sort of license for use. The GNU "copyleft" license is popular. The BSD license is another one. There are others. You will have to check into and comply with whatever charges and licensing restrictions - if any - apply to whatever software you use on Linux, just like on Windows.
The other meaning of "free" in Linux is allowing the user to do what they want. Again, the GNU license is often used to enforce free software rights. Most Linux software is also "open source". Because people are free to use the software as they wish, a small but significant number of users want to modify the software. To enable this the source code to the programs is often made available. This includes the Linux OS itself of course. The source code for both the kernel and all the libraries and utilities included with most distros is available if you want to modify the OS for your own use. If there's a feature that you want that isn't in the software then you can add it. If there's a feature that you don't like then you can modify or remove it. You do have to know how to program of course, but you are free to do what you want with the software.