N00b question - Arduino versions

Can someone recommend a web site (or sites) that break down the pro's and con's of the various form factors of Arduino with as little technical spec-based discussion as possible?

I have extensive programming experience, but am a novice at electronics. So (for example), the specs related to 3.3V vs 5V or 8 MHz vs 16 MHz is lost on me (though I know that faster MHz is better in most cases... except perhaps for specific projects).

I'm not a complete babe lost in the woods (I know that more RAM is better, more inputs is better, lighter is better, smaller size is better) and having Bluetooth vs not is better. But, something that explains voltage, relative processor comparison, and comparison of USB interface types would be wonderful.

Thanks so much!

Lots of difficult questions. A start: 3.3V devices can be easier to interface to some of the mobile-orientated sensors like gyros, magnetometers and accelerometers, but can be a PITA to interface to motors and servos. Of course, the opposite can be true of 5V devices.

Slower clock speeds usually imply lower power consumption.

I don't know if you have checked out this http://playground.arduino.cc/, good place to start.

something that explains voltage,

One of the features of Arduino is the ability to connect to other hardware devices, either through pre-made "shields", or just by stringing wires around. In order for this to work, the signals being sent between the arduino and the other hardware have to be "mutually compatible", which is most easily achieved by having the arduino and the device operate at the same voltage. It is second-most easily achieved by having the device designed for a particular voltage of Arduino. But if you have a 5V arduino and a 3V device, or a 3V arduino and a 5V device, this can cause problems.

Also, lower voltage arduinos should consume less power.

relative processor comparison,

All of the "AVR" based arduinos have processors that are essentially similar, in terms of performance. The main differences are in the amounts of memory, and the number of pins. The newer ARM based Arduinos have significantly higher performance, at least theoretically (5x higher clock rate, and 4x wider ALU should yield up to 20x faster for certain types of code. But that's not particularly the kind of code that Arduinos usually run!)

and comparison of USB interface types would be wonderful.

The original Arduino used an FTDI USB interface that provides USB to Serial functionality ONLY. On the plus side, this was a pretty strongly vendor-supported chip, and wasn't "eraseable" in any real sense.

Second generation Arduinos (Uno, MEGA2560) use a separate AVR cpu as the USB interface. This normally does the same usb-to-serial function, but it could also be programmed with other software to enable the Arduino to appear as other USB devices (Mouse, keyboard, MIDI, mass-storage, etc.) However, this DOES require extra knowledge and equipment; reprogramming the USB AVR is not as easy as uploading a sketch, and there are additional "political" issues WRT vendor IDs and so on. Also, there have been reports that the USB AVR can glitch in a way that causes it to lose its original USB/Serial firmware.

There are also the "Native USB" Arduinos (Leonardo, Micro, Teensy.) These have the USB function on the same chip that runs the Arduino code. In theory this reduces costs (one major chip instead of two) and makes it easier to implement those non-serial Arduino-based USB devices (USB libraries can now be included in the sketch itself.) On the other hand, this also means that sketch errors can break the USB connectivity, and there may be timing issues associated with servicing the USB traffic.

Finally, the ARM-based Arduinos (or some of them, anyway) have a USB "Host" interface capability that allows them to talk TO usb devices rather than just being usb devices. At least in theory.