Forms are wonderful tools when used correctly. They make sure that the back-end functions, of an interface, have all the information needed to process a request.
Forms are great for event registration, e-list signups, user enacted actions on a database, etc. Where they fall down is when they are used to replace the feel of human contact. And the ubiquitous Contact Form is the most flagrant example.
The user wants to interact with someone, when they have a problem, issue or idea.
The contact form has created an intentional barrier to that contact. While it is true that the user may get just as fast a response from the contact form as from an email, the end user does not feel that they will. The user feels as if the form goes to a computer, and so this contact form makes a personal communication impersonal.
When you come to developing that contact page, which every Website and User Interface tool needs, you should seriously question using the impersonal form versus the personal email link. I strongly recommend that you make the user feel that you care about their concerns by using the email link. JavaScript can be used to add an email subject line and protect your email address.
If you need to use form, add a face to that form. Adding the picture of the person the form is going to reach will make a difference in how it is perceived. Your clients and customers deserve to know that they have someone not something listening.
Best Practice Mantra: Make Contact Feel Personal.