A cover letter introduces your resume when you are not there to do so. You do not need a cover letter at a job fair, but would want to include one when applying for a job you found online.
Mail or email a concise and dynamic introduction of your resume. Include specific information about why you want to work for the employer; see samples below. Do not reiterate the information on your resume. The cover letter should introduce you and highlight your best qualifications. You want to excite them enough to want to look at your resume.
Some employers want to see your writing style and expect the cover letter may be a better indicator of this than your resume. However, some employers don't want to read them so, know your field and what is expected!