I'm a bit concerned about software compatibility and my printers, scanners etc.
...
In general, printers/scanners are supported much better from a Linux standpoint than they were a decade ago. However, as you've seen with other replies, it can still be a bit of hit-or-miss as to whether a particular peripheral (such as a printer) will work, and it's for the same basic reason as software might not work. Let's take a second to examine why this is. The typical analogy that I use is that Windows is an operating system that natively speaks English, and that's really the only language it understands. Linux, alternatively, speaks/reads only Spanish (and Mac OS doesn't speak, but it does eat crayons and sniffs glue). Anyway, the programs that you run on Windows are in English, and so Windows can read them. However, Linux doesn't know English, and so it doesn't know how to run them. On the other side, your Linux programs are in Spanish, and so Linux can read/run them all....but Windows doesn't understand them at all. What we have, analogy-wise, is a language barrier.
So, how do we fix this? The easiest fix is to to translate between the two operating systems. We can do this one of two ways. The first is for us to take our English-based program and re-write it in Spanish. Then, we never need read the Windows program in Linux...we read our own Spanish copy. Anyone here read the bible in Latin? No? You have your own copy in English. Same idea...just with software. The problem is that it takes time for someone to make this translation, and who's going to spend a lot of time to make something that only a handful of people will use?
This, then, is the problem we find ourselves in. Many software companies (and hardware companies who must write drivers (i.e., software)) aren't willing to expend significantly more resources to support what might only be 5% of their customer base. Now, most versions of Linux are free and open-source, and many pieces of software (including drivers) are done for free in someone's spare time, so we're really at the mercy of what they want to do. This is absolutely a case of "you get what you pay for."
Now, another way to get Linux to understand windows programs is with a real-time translator. The most well-known is a program called Wine....and it speaks both English and Spanish. So, Linux tells Wine to run an English program, and it communicates from English to Spanish. Good news is that the translation works pretty well...bad news is that it's not always perfect (in the computer world, this causes programs to crash) and your program runs slower because everything has to be translated as you go.
So, with that explanation of why your software may have compatibility issues, let's continue on with your questions and see if I can provide some useful (or at least shorter) answers!
...
I also use photoshop quite a bit. From what I am reading the freeware that runs as a photoshop replacement is not up to par with photoshop.
...
Well, yes and no. Gimp is a similar product, but many would agree that it lacks many of the features of Adobe Photoshop. This is certainly a case of getting what you pay for. However, it appears the Linux user community have had good results using it via Wine, so that may be an approach you could take.
...
If I make this transition then there will be other computers in my household that also will need to make the transition that are used for gaming, animation creation etc. Will games that have been purchased and many other software that is being used by family members be usable in Linux?
We'd have to examine this on a case-by-case basis. Can you share what specific software you're concerned about?
Something else that may be of interest to you is that you can try Linux without losing Windows. There are 2 approaches you can take. The first is to create a "Live Boot" CD/DVD. You create the CD/DVD, put it in your computer, reboot your computer, and make sure your BIOS boots from your CD/DVD drive. You will get your Linux environment...without touching your Windows installation at all. When you're done, reboot, remove the CD/DVD, and you're back to Windows. The only downside is that every time you boot into Linux using this method, nothing from the previous Linux boot is saved...you get the same, pristine environment that you saw on the first boot. The other approach fixes this. You actually install Linux, but when you chose the destination drive to install it on, you choose a USB stick (or external hard drive). Then, you boot from that whenever you want to play in Linux. I can help you through the process if you'd like.
If you have any other questions, please don't hesitate to ask!