I believe there’s a language or terminology barrier and the user is really referring to a swap file versus swap partition. Swap files are much more flexible.
A swap partition is a part of your storage disk that is formatted for swap use. It could also be it's own disk for high performance systems, but mostly for HPC.
A swap file is basically an empty disk image file that you mount as swap, the OS will use it just like a swap partition.
I prefer swap files because I find them easier to manage. I can easily delete, move, or enlarge the swap file whereas the partition will take a bit more work and is a bit riskier to change. Changing partition layouts can get very messy.
I always recommend a swap file be created when setting up a new Linux machine, even if you have loads of RAM. Some applications will use swap space to help performance, but I also like the fact that if I do something really dumb and fill up the root partition I can delete my swap file to free up space immediately, fix the full disk problem, and then recreate the swap file.
So, swap is when the computer writes used memory to slow, long term storage because of memory pressure.
Cache is when the OS sticks random bits of files into unused memory to they can be used faster.
Using swap is a sign you need more ram. Using cache is harmless, and the OS will try to fill all free memory with cached files, because worst case scenario there's no cost.
I prefer swap files over swap partitions, because it makes it my partition layout simpler to manage.
If your using a swap partition, make sure it's located on an encrypted partition, else it exposes data stored in RAM (encryption keys etc). With SSD's it's difficult to make sure this data is actually deleted, even after overwriting.
My preferred setup for a long time was LUKS with btrfs on top. Then subvolumes for /, /home and the swap file (+ /var/cache, /var/log etc.). This gives me peace of mind nothing is unencrypted except /boot.
Nowadays I simply use zram, which allows for a small part of RAM to be compressed for swap. It's great, simple to setup and performs well. Imo it should be default for all desktops.
I have a machine at work (no screenshots sorry) that is using ~200GB of RAM as disk cache and still has over 100GB of free RAM - not "used for cache but can be freed if an application needs it", actually genuinely unallocated.
How to fill up the cache? I have 17 gb of 32 gb free, unalloacted, at the end of the day. Cache is only about 8 gb or so.
I think it was a mistake to buy that much ram. I use kubuntu.