Question: I've been developing in Eclipse and every now and then I come across having to add JARs to WEB-INF\lib. My question is why sometimes I need to add them to the build path and sometimes I can just dump them in there.

Answer: 
They need to be in the build path if any of your code explicitly references a Class in the jar. Sometimes jars you include reference these other jars that you don't explicity reference. Those jars do not have to be in your build path but they do need to be in your WEB-INF/lib directory.
Well... I never encounter such problem with Eclipse. Let me ask you some questions:

1. Are you using Eclipse JEE edition?
2. Are you using Dynamic Web Project?

If you answer yes to both of them then you should get the jar on the build path automatically once you drop the jars in the WEB-INF\lib (maybe you need to refresh the project in Eclipse as well). Dynamic Web Project will automatically add all jars in the directory to the build path of the project.

If you still get problem then I think there is a problem with your Eclipse or your configuration.

From here (http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.wst.webtools.doc.user/topics/ccwebprj.html): 

> 
> /lib
> 
> 
> The supporting JAR files that your Web application references. **Any classes in .jar files placed in this directory will be available for your Web application**
> 
> 
>