What's the difference between cc and To fields in e-mail?
It is described in RFC 2822, and more precisely section 3.6.3 of that RFC.
Here's the actual fragment that describes usage of "To" and "Cc":
The destination fields specify the recipients of the message. Each destination field may have one or more addresses, and each of the addresses indicate the intended recipients of the message. The only difference between the three fields is how each is used.
The "To:" field contains the address(es) of the primary recipient(s) of the message.
The "Cc:" field (where the "Cc" means "Carbon Copy" in the sense of making a copy on a typewriter using carbon paper) contains the addresses of others who are to receive the message, though the content of the message may not be directed at them.
The difference between "To" and "Cc" is in semantics, and determines how recipients should treat the message (as directed to them or "copied" only for their information).
Typically, if I am carbon copied on something, the email is not directing to me, but is information that I need to read. The email does not necessarily require my response, but rather the response of those who were in the TO field.
The difference is mainly social and informative -- address the letter To some people, and send others a CC (carbon copy) so that they can be aware of the facts. Because it is a distinct header it is frequently used for filters, with CC mail being held to higher standards than To.
So, while it doesn't matter at the protocol level, it can determine whether a message gets sent directly to the trash, to a to be read if there's time folder or read immediately.
My rule of thumb is to put the person in the To header only if I directly address them in the body, otherwise use Cc.