I don't know your where your skills and interests lie, but I have found www.howtoforge.net and www.debian-administration.com to be great resources, especially for learning the server side of linux.
Linux can be fun and exciting for the new user, but though like any OS, it is frustrating when something doesn't work out of the box. In my experience and what I hear from others is that Linux is more likely to work out of the box then Windows, thought it may harder to fixed it in Linux when it dosen't work. For someone inexperienced with Linux, it is often easier to keep trying a newer or different distro untill everything works. I would recommend Linux Mint (lt.k1011.nutime.de) It almost the same as Ubuntu, but has more software, and drivers to provided a better out of the box experience. I have strong reasons to prefer Ubuntu or Debian based distros, though others swear that Fedora, OpenSuse, or Mandriva are the best. It's rare, though possible that your devices have no support in linux. This happens when the hardware manufacturer is not helpfull enough to give information to a linux driver writer for them to create it without the very difficult and time consuming task of reverse engineering the device. If device is popular enough, in time a reverse engineered driver will often be created. Most of the support for sound cards cards is found at a project at www.alsa-project.org, and www.cups.org for printers, you can check on it there. Sometime even the manufacture will create there own driver, you can check their website for that. It's more likely that linux didn't setup your device right, often because it's too new of a model for the hardware detection programs to knows about, and it likely has kernel module or driver that will work with it, but dosen't know that particular model is compatible so it doesn't configure it. You can find help on the Internet how to coax Linux to recognize your device. I would check wiki's and forums for your particular distro. In Windows to get hardware to work you have to master the device manager. In Linux it is udev, and config files that you need to learn. If something dosen't work people that are used to using wizards and GUI tools might scared away from editing config files. To get my SATA DVD drive to burn, I had to create a udev rule in /etc/udev/rules.d. I had a friend who's scanner would not scan, and I had to put in the right usb id (lsusb tells you) into /etc/sane.d/epson.conf. You could tell me the models of your soundcard and printer, and what is distro your using, and I can at lest point you in the right direction.