The compute module contains the guts of a Raspberry Pi (the BCM2835 processor and 512Mbyte of RAM) as well as a 4Gbyte eMMC Flash device (which is the equivalent of the SD card in the Pi). This is all integrated on to a small 67.6x30mm board which fits into a standard DDR2 SODIMM connector (the same type of connector as used for laptop memory*). The Flash memory is connected directly to the processor on the board, but the remaining processor interfaces are available to the user via the connector pins. You get the full flexibility of the BCM2835 SoC (which means that many more GPIOs and interfaces are available as compared to the Raspberry Pi), and designing the module into a custom system should be relatively straightforward as we’ve put all the tricky bits onto the module itself.
For one of many possible comparisons, see the modules Variscite (variscite.com) has been producing for a while. Prices range from $35 to about $350. Using SODIMM as a processor socket has become quite popular, and there are at least a dozen other companies making use of this socket. The problem is that none use the pins in the same way, or use quite the same SODIMM socket (there are many variations), or use the same processor board size (though size standards are starting to emerge).
Fortunately, once a PCB is designed to support one SODIMM processor module, it is fairly easy to re-spin it to be compatible with another module. So the development effort shifts away from the processor and toward the custom peripherals, something that is FAR easier than doing processor board design, mainly because the clock rates and line count are typically far lower.
USB is becoming the universal "simple" processor expansion bus because it has only 2 high-speed lines (pre-3.0) and there are hundreds of peripheral chips that "Just Work"(tm) with it. The #2 expansion bus, primarily for low-speed devices, would be I2C, but a single I2C bus can typically support only a handful of devices before address space issues arise. While SPI would seem to be a great bus, the need to have chip select lines means it isn’t purely a "serial-only" bus for multiple devices, unless you go through the trouble to do JTAG-like daisy-chaining. For all the serial buses mentioned, bandwidth and address space issues can be handled by using multiple buses.
You’ll notice that most SODIMM processor boards tend to support multiple buses of each type.
To me, the most important feature of the SODOMM processor module trend is architectural: Notice how the SODIMM module inverts the model used on all other small hobby processor boards (Arduino, BeagleBoard, RaspberryPi, etc.): Instead of plugging a "shield" or a "cape" board onto the processor board, it is the processor board that gets plugged into the "carrier" board.
This reflects a simple yet surprising reality: Peripherals often outlast processors in most small designs! That is, we will often need to upgrade the processor before we have to upgrade the peripherals (well, at least the peripheral buses).
I predict the first popular carrier board for the Pi Compute Module will be a "legacy adapter carrier" that will contain Arduino, Beaglebone and RasPi headers. The only question is: Will this be an Adafruit product?
No ethernet port?
@bof: $5 gets you a USB 2.0 GigE dongle these days…