OK, you're a Mac Fanboy, so I should expect some of what is in your post, but...
...I think that you ought to go back and check what Linux distro you were trying. I suspect that it might have been one of the bare-metal masochistic distro's, or possibly one that was a little old. USB printers, for the most part just work on most modern distro's. Plug it in, and watch Linux tell you what the printer is, and which driver it will use.
And while it is the case that there are some codec's that may be difficult to find, they are probably equally difficult to find for OS 10.X, unless the vendor has explicitly provided them on the driver disk. And if this is the case, then probably the Windows codes will work inside a wrapper on Linux. If the vendors did some due diligence, and provided instructions as they do for Windows and OS 10.X, then you would see it is not Linux that was at fault, but the hardware vendors.
What is even more surprising is the fact that OS 10.X->Linux ports are not that difficult (OK, the screen API is different) but the rest is just *NIX like. So why no port?
I do take your point about applications, but this, again, is not Linux's fault. Just because an OS is free, some people have an expectation that all the apps. should be free as well (I accept that they can be called fretards, but this is not all Linux users). And some software vendors are afraid that if they use GNU tools to compile an app, that the app must be published under the GPL. Neither of these two statements are true. It is perfectly possible to port an app. to Linux and sell it. If there was a Linux port of Adobe Creative Suite, QuarkXPress, or FinalCut Pro, maybe more people (such as you!) would see Linux as an alternative, and it would start fulfilling it's promise.
Is this Linux's or the developers fault. No. They have made this excellent platform, and commercial companies have not taken advantage of it.
If you had a choice of buying a shiny Mac running OS/X, or the same hardware running Linux, with the same choice of software and drivers, but the Linux box was £50 or £100 cheaper, which would you choose? Many people would choose the cheaper option. And there must be significant numbers of Windows users who would make the same choice to avoid Vista. Why then will the vendors not see this as an opportunity, and start selling their wares for Linux.
Oh. I forgot. Microsoft are pulling the strings. They can make it difficult to develop for Windows by withholding Windows information an cheap licenses from developers who also produce Linux software, so few development houses can afford to sell Linux products. Why do MS not do that for OS/X devopers? Because without some competition, the US DoJ would slice MS up.