I don't understand what are the difference between UNO and Leonardo?
Let me make a proper writeup of comments.

Start by looking at the product page at the Arduino website: Leonardo and Uno. A practical difference is that the Uno has a chip that can easily be replaced when you manage to blow up one or more pin drivers.


  I just found that the differences are the Microcontroller, Digital I/O Pins, Analog Input Pins and SRAM. Except these, their function are the same? – Sue2013 34 mins ago
  2   


From an practical and average Arduino user perspective the pin functionality will be the same. For the nitty gritty details refer to the datasheet ATmega32u4 for Leonardo and ATmega328 for UNO


  Frankly, I heard a lot about UNO and seldom hear about Leonardo. In this case, I am quite interested in it and want to know the difference. Really thank you for your advice. Nice~~~ – Sue2013 13 mins ago


Leonardo is much younger than Uno, that's why you hear more about Leo. The blog also mentions a few nice Leonardo features:


Simpler and cheaper hardware;
USB is integrated in main processor;
Able to implement other protocols than serial UART (eg. act as mouse or keyboard);
More analog inputs (12) and one more PWM pin than UNO;
R3 header pinout: I2C is aways in the same place, regardless of the exact microcontroller on the board. This makes R3 shields more universal. The IOREF pin can inform a shield whether the Arduino is using a 3v3 or 5V micro. R3 shields are more future proof.