In http://arduino.cc/en/Serial/begin, it is mentioned that Arduino sets the data rate in bit per second (baud). So, does it mean that Arduino sends 1 bit per seconds? Theoretically, baud rate is dependent on electronic state (roughly one electronic state per second is called Baud rate) and electronic state may have more than 1 bit per second. So, when in that upper mentioned link, bit rate and baud rate is said to be same, does it mean, for Arduino in 9600 Baud rate, 9600 bit data being communicated per seconds?
Yes, but remember to subtract the stop bit when you convert to 'useful' bit rate.
8-bit byte needs 10 bits: start bit, 8 data bits, stop bit.
In the case of simple "baseband" serial communication, the bit rate and the baud rate are the same. Using analog encoding schemes can facilitate multiple bits per "symbol" as when using high bit rate modems such as ADSL.
The other matter is that in an asynchronous (and to a lesser extent in synchronous) communication protocols, "framing" bits are added so that slightly fewer data bits are carried compared to the nominal bit rate. Generally a "start" and "stop" bit to every eight data bits so that "9600 baud" would mean about 960 bytes per second.
Paul__B:
...
Generally a "start" and "stop" bit to every eight data bits so that "9600 baud" would mean about 960 bytes per second.
And that is the theoretical upper limit,
in practice the sending side has an not defined gap between bytes, mostly zero, but not always...