I just bought a Logitech C200 webcam, one of the cheapest camera with microphone I could find, basically just for using with Skype on my old home laptop. As it is an USB UVC device it works flawlessly with recent, or even not so recent, Linux systems, including mine (Debian Lenny with stock 2.6.26 kernel).

When you plug in the USB port, you should see something like this in /var/log/syslog:

kernel: usb 1-4: new high speed USB device using ehci_hcd and address 4
kernel: usb 1-4: configuration #1 chosen from 1 choice
kernel: Linux video capture interface: v2.00
kernel: uvcvideo: Found UVC 1.00 device <unnamed> (046d:0802)
kernel: input: UVC Camera (046d:0802) as /class/input/input9
kernel: usbcore: registered new interface driver uvcvideo
kernel: USB Video Class driver (v0.1.0)
kernel: usbcore: registered new interface driver snd-usb-audio

Programs that need to use the camera generally find it without problem (I tried with skype 2.0.0.72-1 and ucview 0.22 both installed from Unbuntu packages). The sound is a bit harder to set up as you need to instruct the programs to use the usb-audio microphone device that comes with the webcam rather than you default soundcard mic.

To check the situation, try

# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: I82801DBICH4 [Intel 82801DB-ICH4], device 0: Intel ICH [Intel 82801DB-ICH4]
Subdevices: 1/1
Subdevice #0: subdevice #0
[...]
card 1: U0x46d0x802 [USB Device 0x46d:0x802], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

This is what I had when the webcam was connected after bootup. The problem with this is the sound card order: in my case, booting with the webcam plugged in resulted in the order of both cards being swapped. To fix this on a permament basis, I did

# cat /etc/modprobe.d/local
alias snd-card-0 snd-intel8x0
options snd-intel8x0 index=0
alias snd-card-1 snd-usb-audio
options snd-usb-audio index=1 enable=1

The index option fix the card order (0 for the internal card and 1 for the webcam's mic). The enable option was necessary to make sure that the mic was ready (otherwise it was muted by default). WIth this I was able to use Skype (by selecting the correct input in the options).

Although all of this was rather easy to set up, I did waste a (lot) lot of time by not doing what was recommended by the excellent Alsa Wiki: checking on console (i.e., not from a window manager such as Kde or Gnome) with amixer and arecord that everything was OK.

The reason for this was Kde, or more precisely KMix, which has a default setup, that can be changed under "Settings > Configure KMix..." by uncheking "Restore volumes on login", that resulted in my usb-audio mic being turned off when Kde was started. Needless to say that trying to understand this with the Kde environment launched was not that funny...