All a web server does is basically serve files (like HTML files and images) over HTTP. Application servers do this and more, usually providing some sort of dynamic web page generation capability and integration with database systems.
Application server is kind of a buzzword, though, and does not really have a hard-and-fast definition.
As examples, Apache and IIS are web servers - they are built to provide files over HTTP. Weblogic, WebSphere, JRun,
JBoss (and more) are usually called application servers - they provide the full J2EE stack of technologies over the web -
servlets, JSPs, EJBs, JNDI, etc. Somewhere in between are
Tomcat and Resin - they are both web servers with support for servlets and JSP, but they don't directly provide any database access or persistence technology (though it looks like Resin is starting to plan on adding EJBs).