Like DWZM stated, the project goal is for people to have a working controller where all they have to do is solder parts and load a premade sketch. However the option for expansion and customization is also there for those who want to. In the end there will be several pages explaining the controller in detail along with example pages for different things such as relay control, etc...
As for learning, it really depends how far you want to go into this. If you really want to learn
http://www.allaboutcircuits.com/ is a great resource, but fairly in depth on various topics. I don't know of any one site that really explains just the topics we are using without a lot of other things.
Starting with i2c. Basically the arduino has a limited number of input/output pins to transfer data/interact. With the number of things on the board such as ethernet, LCD, pH, etc... This can really eat into the number of pins left over for other things such as relay control, auto topoff, etc... i2c is a way to use multiple inputs/outputs by sending bits/codes to different addresses through basically a 2-wire interface all controlled by a single processor. The MCP23008 port expander is basically an interface to have more inputs/outputs by providing the physical pins. For example, the LCD would need several pins to communicate with the processor. This way we have the LCD connected to the port expander which is connected to the processor through 2 pins. We change the physical pin state of the port expander to a code containing the pin status. This happens to be 8 bits controlling 8 pins.
http://www.arduino.cc/playground/Code/I2CPortExpanderAndLCDs
Shield: The actual arduino has a board setup in a way to allow other custom boards to "stack" on top of it, thereby plugging into the needed pins. The custom board is called a shield.
http://arduino.cc/en/Main/ArduinoShields
Pots: Potentiometers= variable resistors.
Headers: "Most" of the pins and sockets you see in the pictures.
http://www.sparkfun.com/commerce/product_info.php?products_id=115
Firmware: Basically the "operating system" of the processor/controller.
One Wire: Things such as temperature sensors that don't require many pins on the processor.
http://en.wikipedia.org/wiki/1-Wire
PWM = Pulse Width Modulation, basically a way to control the average voltage of an output pin by increasing/decreasing the time between pulses.
http://www.arduino.cc/en/Tutorial/PWM
http://en.wikipedia.org/wiki/Pulse-width_modulation
This should help you understand the discussion, but to truly understand electronics start with the first link I post and go through all the topics. That would be a start.