Mysql CHAR vs VARCHAR

Looking for any advise from a DBA/DA. When should you use CHAR and when should you use VARCHAR when designing a table. From my readings seems like VARCHAR will accept any length string even though you define a length to it, so I setup gadget VARCHAR(10) I could actually put something with 20 characters in there. Thanks for any advise on this. Bill

Actually a VARCHAR(10) will only allow up to 10 characters and no more.

The main difference between CHAR and VARCHAR is how data is stored in the column. The length of a CHAR column is fixed and when CHAR values are stored, they are right-padded with spaces to the specified length. In contrast to CHAR, VARCHAR values are stored using only as many characters as are needed.

Please see the MySQL docs for more details:
MySQL AB :: MySQL 5.0 Reference Manual :: 10.4.1 The CHAR and VARCHAR Types

Cheers!
Nate