Why should you set field sizes?

Efficiency in design is very important to a database.

Properly set field types and sizes are critical in the scalability and performance of a database.

As an example a varchar default is a field size of 50 characters. Now if you have a State field that will always contain two characters then a default size of 50 characters would be a big inefficiency. The actual data size stored is slightly padded and the efficiency of your indexes would be degraded as well.

Another consideration is field types. Using a varchar where numeric data is stored is probably one of the biggest mistakes made as far as field definitions are concerned.