I actually find it easier to get a response, and most companies would prefer, if you e-mail them (if they provide you with an e-mail address on their website). Always e-mail HR first, but if you receive no answer and if there is an e-mail of a specific person who works at the company listed, e-mail that person. This puts you in direct contact with a person who you might be working for. In my experience, e-mailing about internships (and I’ve e-mailed a lot) I get quicker responses from executives I e-mail directly. In some cases, the secretary might not give or just forget to give your resume, so e-mailing is safer.
If you receive no answer, then you could walk in. But, DO NOT do this for a huge or busy company…they might get annoyed, since the purpose of putting their e-mail address on the website is to avoid walk-ins.