servlets - stored and run on the server-side. Used to generate dynamic HTML pages. Rather than doing everything in servlets, you'll also use JSPs (HTML pages with special tags) and probably some kind of web framework like Struts, SpringMVC, etc.
swing - (not swings) Java's library for building desktop applications. In general stored on and runs on users computer, but you can use Java WebStart to store the code on a server and check for updates and download new versions when the application relaunches. Swing can use any kind of networking/distributed computing libraries in Java to communicate with code on a server, if it needs to.
applets - stored on the server, but runs inside the client's web browser. Can use Swing or it's predecessor AWT. It's like a small part of a normal Swing or AWT desktop application, but embedded in the client's browser. There are some restrictions on what applets can do due to security constraints.
Write once, run anywhere, because there's nowhere to hide! - /. A.C.